统计当前系统中不同运行状态的进程数量

#!/bin/bash

#初始化变量:运行时,睡眠,停止,僵死
running=0
sleeping=0
stopped=0
zombie=0

#在/proc/目录下,包含以数字作为目录名的子目录,其含义,每个数字对应一个当前
正在运行的pid
#cat /proc/1/stat 查看进程运行状态,第3个字段为进程运行状态字段.
for pid in /proc/[1-9]*
do
    ((procs=procs+1))
    stat=$(awk '{print $3}' $pid/stat)
    case $stat in
        R)((running=running+1));;
        S)((sleeping=sleeping+1));;
        T)((stopped=stoppend+1));;
        Z)((zombie=zombie+1));;
    esac
done

echo -n "Process Count:"
echo -e "Running = $running\tSleeping = $sleeping\tStopped =
$stopped\tZombie = $zombie"



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-773608/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26855487/viewspace-773608/

你可能感兴趣的:(统计当前系统中不同运行状态的进程数量)