1. 程式人生 > >057_統計 Linux 進程相關數量信息

057_統計 Linux 進程相關數量信息

lee 有一個 one awk print 狀態信息 pro d+ zomb

#!/bin/bash
running=0
sleeping=0
stoped=0
zombie=0

#在 proc 目錄下所有以數字開始的都是當前計算機正在運行的進程的進程 PID
#每個 PID 編號的目錄下記錄有該進程相關的信息

for pid in /proc/[1-9]*
do
procs=$[procs+1]
stat=$(awk ‘{print $3}‘ $pid/stat)
#每個 pid 目錄下都有一個 stat 文件,該文件的第 3 列是該進程的狀態信息
case $stat in
R)
running=$[running+1];;
T)
stoped=$[stoped+1];;

S)
sleeping=$[sleeping+1];;
Z)
zombie=$[zombie+1];;
esac
done

echo "進程統計信息如下"
echo "總進程數量為:$procs"
echo "Running 進程數為:$running"
echo "Stoped 進程數為:$stoped"
echo "Sleeping 進程數為:$sleeping"
echo "Zombie 進程數為:$zombie"

057_統計 Linux 進程相關數量信息