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

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

答案

正确答案:C

你可能感兴趣的:(服务器,linux,运维)