美文网首页LinuxLinux学习之路我用 Linux
Shell脚本:一段有意思的shell脚本之统计进程数

Shell脚本:一段有意思的shell脚本之统计进程数

作者: walker86 | 来源:发表于2020-03-14 19:31 被阅读0次

背景

今天在网上看到一个有意思的小脚本,贴出来大家一起看看

脚本实现内容为:实时统计Linux系统下各类进程的数量(如running、sleeping等)

实现思路

一般我们知道,查看具体某项进程,我们可能会用 ps -ef | grep 进程名,或 ps -aux | grep 进程名效果如下:

image.png

我们以PID为2179的这个进程来看,其状态是S,即睡眠状态

在Linux系统的根目录/proc下存放着以每个进程PID命名的文件夹,里面记录了进程的详细信息

image.png

我们在进入这个文件夹,里面有个stat文件,记录了进程的详细信息


image.png

因此,统计各种状态进程信息就可以循环遍历/proc下的以数字开头的文件夹

#!/bin/bash
# 统计 Linux 进程相关数量信息 
 
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"

运行一下,查看结果:

[root@localhost temp]# ./processStatic.sh 
进程统计信息如下
总进程数量为:38
Running 进程数为:0
Stoped 进程数为:0
Sleeping 进程数为:38
Zombie 进程数为:0

相关文章

  • Shell脚本:一段有意思的shell脚本之统计进程数

    背景 今天在网上看到一个有意思的小脚本,贴出来大家一起看看 脚本实现内容为:实时统计Linux系统下各类进程的数量...

  • arthas源码解析

    1.运行脚本 下载as shell脚本 选择个java 进程后shell脚本会去运行个java程序 同时带上了进程...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • 2018-09-26

    shell脚本 1.1、什么是shell脚本(shell script , ...

  • Shell script + crontab实现Mysql定时备

    一、Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所...

  • 嵌入式day12

    shell脚本的本质 shell脚本语言是解释型语言 shell脚本的本质:shell命令的有序集合 shell编...

  • shell脚本

    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说...

  • Shell脚本语法

    1. Shell脚本简介Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所...

  • 网络分析shell脚本分享(实时流量、连接统计)

    一个强大的网络分析shell脚本分享(实时流量、连接统计)linux shell脚本之家http://www.jb...

  • shell脚本

    什么是Shell脚本 Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电...

网友评论

    本文标题:Shell脚本:一段有意思的shell脚本之统计进程数

    本文链接:https://www.haomeiwen.com/subject/utcnshtx.html