云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux

Posted xfxfxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux相关的知识,希望对你有一定的参考价值。

什么是进程

  • 当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限
  • 在进程运行的过程中,系统会有各种指标来表示当前运行的状态
  • daemon 守护进程(服务),持续运行的进程,一般是系统必须的服务(network,sshd....)
  • 程序是数据和指令的集合,是一个静态的概念。比如/bin/ls 、 /bin/cp 等二进制文件。同时程序可以长期存在系统中。
  • 进程是程序运行的过程,是一个动态的概念。进程是存在生命周期的概念的,也就是说进程会随着程序的终止而销毁,不会永久存在系统中。

进程生命周期

Process---fork--->Parent----wait--->Parent Process---->Process
Process---fork--->child process---exec--->child process--exit-->process/zombie

  • 当父进程接收到任务调度时,会通过fork派生子进程来处理,那么子进程会继承父进程属性
  • 子进程在处理任务代码时,父进程会进入等待状态
  • 子进程完成任务后,会执行退出,然后唤醒父进程来回收子进程的资源
  • 如果子进程在处理任务过程中异常退出,而父进程没有回收子进程的资源,会导致子进程依然在内核中的进程表中占据一条记录,占用系统空间
  • 如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么子进程就没有父进程来管理了,由系统的system进程管理(孤儿进程)
  • pstree -p 查看进程树的pid

监控和管理

ps -o %pid,可以单独提出pid这一列,同理有command等
ps --no-header 去掉标题
ps --sort cpu 按照cpu大小来排序,cpu前面加-是逆序
pgrep -a xxx #显示xxx的pid和进程名

ps aux 详解

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 194280  7464 ?        Ss   4月21   2:32 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    4月21   0:00 [kthreadd]

vsz #virtual size 进程占用虚拟内存大小(kb) swap + 物理内存
rss #进程占用物理内存大小(kb) 物理内存
tty #tty是本地终端 pts是远程登录的终端 ?是内核进程,不需要终端
start #进程启动时间
time #进程占用cpu的时间

STAT进程状态

基本状态描述STAT状态+符号描述
R进程运行s进程是控制进程,Ss进程的父进程
S可中断进程<高优先级
T进程被暂停N运行在低优先级
D不可终端进程+当前进程运行在前台
Z僵尸进程l进程是多线程

ps aux | awk \'$8~/Ss/\' 查找第八列STAT中状态为Ss的进程

以上是关于云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux的主要内容,如果未能解决你的问题,请参考以下文章

基础学习day11--多线程一线程的创建,运行,同步和锁

Linux基础03-进程管理

Linux单独的ps命令作用是啥?

python学习_day32_并发编程之多进程

云计算--学习记忆Day2

如何kill掉进程