Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,
System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。
ps -ef
ps -ef 是用标准的格式显示进程的、其格式如下
[root@69e52c4fa4d1 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 16:27 ? 00:00:00 /bin/sh /start.sh
root 10 1 0 16:27 ? 00:00:01 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf
root 13 10 0 16:27 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
root 14 10 0 16:27 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
www 21 13 0 16:27 ? 00:00:00 php-fpm: pool www
www 22 13 0 16:27 ? 00:00:00 php-fpm: pool www
root 153 0 0 17:37 pts/0 00:00:00 bash
www 189 14 0 17:44 ? 00:00:00 nginx: worker process
www 190 14 0 17:44 ? 00:00:00 nginx: worker process
www 191 14 0 17:44 ? 00:00:00 nginx: worker process
www 192 14 0 17:44 ? 00:00:00 nginx: worker process
www 193 14 0 17:44 ? 00:00:00 nginx: worker process
www 194 14 0 17:44 ? 00:00:00 nginx: worker process
root 197 153 0 17:44 pts/0 00:00:00 ps -ef
其中各列的内容意思如下
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
ps aux
ps aux 是用BSD的格式来显示、其格式如下
[root@69e52c4fa4d1 /]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 11688 2500 ? Ss 16:27 0:00 /bin/sh /start.sh
root 10 0.0 0.7 114044 16028 ? S 16:27 0:01 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf
root 13 0.0 0.8 113808 17336 ? S 16:27 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
root 14 0.0 0.3 45996 6204 ? S 16:27 0:00 nginx: master process /usr/local/nginx/sbin/nginx
www 21 0.0 0.7 113872 14740 ? S 16:27 0:00 php-fpm: pool www
www 22 0.0 0.7 113872 14740 ? S 16:27 0:00 php-fpm: pool www
root 153 0.0 0.1 11828 3020 pts/0 Ss 17:37 0:00 bash
www 189 0.0 1.2 67608 25116 ? S 17:44 0:00 nginx: worker process
www 190 0.0 1.2 67608 25116 ? S 17:44 0:00 nginx: worker process
www 191 0.0 1.2 67608 25116 ? S 17:44 0:00 nginx: worker process
www 192 0.0 1.2 67608 24720 ? S 17:44 0:00 nginx: worker process
www 193 0.0 1.2 67608 25116 ? S 17:44 0:00 nginx: worker process
www 194 0.0 1.2 67608 24720 ? S 17:44 0:00 nginx: worker process
root 198 0.0 0.1 51716 3468 pts/0 R+ 17:45 0:00 ps aux
同ps -ef 不同的有列有
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
其中STAT状态位常见的状态字符有
D //无法中断的休眠状态(通常 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //停止或被追踪;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ //位于后台的进程组;
内容来自https://www.cnblogs.com/5201351/p/4206461.html,改变的是图片替换为文字例子
网友评论