【Shell】在 Linux 中,如何查看服务器上僵尸进程的数量
目录
- 题目
- 分析
- 答案
题目
在 Linux 中,如何查看服务器上僵尸进程的数量()
A. ps -ef stat,ppid,pid,cmd | awk ‘$1 ~ /R/ {print}’ | wc -l
B. ps -ef stat,ppid,pid,cmd | awk ‘$1 !~ /S/ {print}’ | wc -l
C. ps -eo stat,ppid,pid,cmd | awk ‘$1 ~ /Z/ {print}’ | wc -l
D. ps -eo stat,ppid,pid,cmd | awk ‘$1 ~ /D/ {print}’ | wc -l
分析
-
ps命令用于查看系统中进程的信息:-e参数用于显示所有进程-o参数用于设定输出格式,这里只输出进程的 stat(状态信息)、ppid(父进程pid)、pid(当前进程的pid),cmd(即进程的可执行文件)-f参数用于显示完整的格式
-
对于 ps 显示的进程状态,通常来说有以下几种:
D不可中断 uninterruptible sleep (usually IO)R运行 runnable (on run queue)S中断 sleepingT停止 traced or stoppedZ僵死 a defunct (“zombie”) process
-
通过
awk命令找出第一列包含 Z 状态的所有进程,$1表示按照默认分隔符分隔后的第一列的字段,即进程的状态信息,~表示匹配后面的正则,/Z/表示匹配的正则,这里表示匹配 “Z”。 -
最后通过
wc -l命令统计出所有僵尸进程的数量。
答案
正确答案:C
