1、功能简介
报告当前进程
[root@vms002?/]#?whatis?ps ps?(1)???????????????-?report?a?snapshot?of?the?current?processes.???#报告当前进程的快照 ps?(1p)??????????????-?report?process?status???#报告进程状态
2、命令语法
[root@vms002?/]#?man?ps SYNOPSIS ???????ps?[options]
3、常用选项
列出所有的进程
显示加宽,可以显示较多的信息
显示现行终端机下的所有进程linux命令,包括其他用户的进程
以用户为主的进程状态
通常与a这个参数一起使用,可列出较完整信息
只显示正在运行的进程
不显示标题
显示所有进程,环境变量
显示帮助信息
显示版本信息
常用选项组合:
1)ps -ef #用标准的格式显示进程
2)ps -aux #用BSD的格式来显示
4、ps -ef和ps -aux格式详解
1)ps -ef 标准格式
[root@vms001?/]#?ps?-ef|head?-3 UID?????????PID???PPID??C?STIME?TTY??????????TIME?CMD root??????????1??????0??0?6月04?????????00:00:09?/usr/lib/systemd/systemd?--switched-root?--system?--deserialize?24 root??????????2??????0??0?6月04?????????00:00:00?[kthreadd]
格式详解:
进程占用CPU的百分比
进程启动的时间
该进程在哪个终端上运行,若与终端无关,则显示?若为pts/0等linux命令,则表示由网络连接主机进程
该进程实际使用CPU运行的时间
命令的名称和参数
2)ps -aux BSD格式
[root@vms001?/]#?ps?-aux|head?-3 USER????????PID?%CPU?%MEM????VSZ???RSS?TTY??????STAT?START???TIME?COMMAND root??????????1??0.0??0.2??60592??7936??????????Ss???6月04???0:09?/usr/lib/systemd/systemd?--switched-root?--system?--deserialize?24 root??????????2??0.0??0.0??????0?????0??????????S????6月04???0:00?[kthreadd]
格式详解:
用户名
进程的ID
进程占用的CPU百分比
进程占用内存的百分比
该进程使用的虚拟内存量(KB)
该进程占用的固定内存量(KB)
该进程在哪个终端上运行,若与终端无关,则显示?若为pts/0等,则表示由网络连接主机进程
进程的状态
该进程实际使用CPU运行的时间
命令的名称和参数
5、Linux上的进程状态
进程状态
ps命令对应的状态码
运行
R运行runnable(on run queue)
正在运行或在运行队列中等待
中断
S中断sleeping
休眠中,受阻,在等待某个条件的形成或接受到信号
不可中断
D不可中断uninterruptible sleep (usually IO)
收到信号不唤醒和不可运行,进程必须等待直到有中断发生
僵死
Z僵死a defunct ("zombie") process
进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放
停止
T停止traced or stopped
进程收到SIGSTOP、SIGSTP、SIGTIN、SIGTOU信号后停止运行
其中STAT状态位常见的状态字符有
D //无法中断的休眠状态(通常 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //停止或被追踪;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ //位于后台的进程组;