process_statistics.sh
#!/bin/bash
#name:process_statistics.sh
#Author:xxx
#Description:实现进程状态统计
#初始化变量
Rtotal=0
Stotal=0
Ttotal=0
Dtotal=0
Ztotal=0
for pid in /proc/[1-9]*
do
#获取进程状态
stat=$(cd $pid && cat stat | awk '{print $3}')
case $stat in
R)
let Rtotal=Rtotal+1
;;
S)
let Stotal=Stotal+1
;;
T)
let Ttotal=Ttotal+1
;;
D)
let Dtotal=Dtotal+1
;;
Z)
let Ztotal=Ztotal+1
;;
esac
done
echo "当前有:$Rtotal个R进程;$Stotal个S进程;$Ttotal个T进程;$Dtotal个D进程;$Ztotal个Z进程。"
sh process_statistics.sh
[root@kibana ~]# sh process_statistics.sh
当前有:0个R进程;186个S进程;0个T进程;0个D进程;0个Z进程。
[root@kibana ~]#