#!/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"

相关文章:

  • 2021-12-24
  • 2021-12-25
  • 2021-06-04
  • 2021-08-11
  • 2021-07-10
  • 2022-01-13
  • 2022-01-13
  • 2021-11-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
相关资源
相似解决方案