【Shell】在 Linux 中,如何查看服务器上僵尸进程的数量

avatar
作者
筋斗云
阅读量:0

目录

题目

在 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 中断 sleeping
    • T 停止 traced or stopped
    • Z 僵死 a defunct (“zombie”) process
  • 通过 awk 命令找出第一列包含 Z 状态的所有进程,$1 表示按照默认分隔符分隔后的第一列的字段,即进程的状态信息,~ 表示匹配后面的正则,/Z/ 表示匹配的正则,这里表示匹配 “Z”。

  • 最后通过 wc -l 命令统计出所有僵尸进程的数量。

答案

正确答案:C

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!