常用shell命令-进程查看

一、查看进程,ps aux

ps aux | grep 'niliu'
#以上命令想必你一定不陌生,那么如果想快速知道每行的含义呢
[root@Mcqp15t170 chuanbo7]# ps aux | grep 'USER'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      5637  0.0  0.0 112640   960 pts/0    S+   19:28   0:00 grep --color=auto USER

每一列参数说明
+---------+--------------------------------------------------------------------------------------------------------------------+
| name    | info                                                                                                               |
+---------+--------------------------------------------------------------------------------------------------------------------+
| USER    | 进程所有者用户名                                                                                                    |
| PID     | 进程标识符                                                                                                          |
| %CPU    | 该进程使用CPU百分比                                                                                                 |
| %MEM    | 该进程使用物理内存百分比                                                                                             |
| VSZ     | 该进程使用的虚拟内存(KB)                                                                                            |
| RSS     | 该进程占有的固定内存(KB)                                                                                            |
| TTY     | 终端名称                                                                                                           |
| STAT    | 进程状态(具体状态含义参考下文进程状态)                                                                                |
| START   | 进程开始执行时间(当天显示小时:分钟;一天之前显示月:日, 一年之前的还没有遇到过)                                           |
| TIME    | 进程实际占有CPU总时间(i:s)                                                                                          |
| COMMAND | 启动任务命令行包括参数                                                                                              |
+---------+--------------------------------------------------------------------------------------------------------------------+


# 其实ps aux就行了,但是如果进程太大,不方便查看

ps aux | grep 'filterfeeds'
root     16803  8.6  0.3 368496 43760 ?        S    17:37   4:27 /usr/local/sinasrv2/bin/php /data1/www/htdocs/energy.tv.weibo.cn/public/cli.php request_uri=/cli_filterfeeds/index/proc_total/8/proc_num/6
root     16870 18.6  0.4 383204 59104 ?        R    17:37   9:37 /usr/local/sinasrv2/bin/php /data1/www/htdocs/energy.tv.weibo.cn/public/cli.php request_uri=/cli_filterfeeds/index/proc_total/8/proc_num/7

进程状态:

D   不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
R   正在运行或可运行(在运行队列排队中)
S   可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)
T   已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行
W   正在换页(2.6.内核之前有效)
X   死进程 (未开启)
Z   僵尸进程  进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的
<   高优先级(not nice to other users)
N   低优先级(nice to other users)
L   页面锁定在内存(实时和定制的IO)
s   一个信息头
l   多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)
+   在前台进程组 

二、查看进程, ps -ef

# 同理ps -ef
[root@Mcqp15t170 chuanbo7]# ps -ef | grep 'UID'
UID        PID  PPID  C STIME TTY          TIME CMD
root     30009 22325  0 19:30 pts/0    00:00:00 grep --color=auto UID

UID:   进程所有者用户名
PID:  进程标识符
PPID: 父进程ID
C:     该进程使用CPU百分比
STIME: 进程启动时间(当天显示小时:分钟;一天之前显示月:日, 一年之前的还没有遇到过;)
TTY:   终端名称
TIME:  进程实际占有CPU总时间(H:i:s)
CMD:   启动任务命令行

ps -ef | grep 'filterfeeds'
root     15609 27998 12 17:36 ?        00:01:21 /usr/local/sinasrv2/bin/php /data1/www/htdocs/energy.tv.weibo.cn/public/cli.php request_uri=/cli_filterfeeds/index/proc_total/8/proc_num/2
root     15676 27998 12 17:36 ?        00:01:26 /usr/local/sinasrv2/bin/php /data1/www/htdocs/energy.tv.weibo.cn/public/cli.php request_uri=/cli_filterfeeds/index/proc_total/8/proc_num/5

小结:
0、ps -ef 查看进程执行总时间比较方便,格式化到时分秒
1、ps aux可以查看到进程状态

参考:
《鸟哥Linux私房菜基础学习篇》P515
Linux下ps aux中进程状态为Ss,S+, Rs,Ds是什么意思
ps aux输出参数含义详解
ps -ef参数和输出栏位含义

继续补充中…

发表评论

电子邮件地址不会被公开。 必填项已用*标注