需求

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

实现思路

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

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

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

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

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

#!/bin/bash
# 统计 Linux 进程相关数量信息 running=0
sleeping=0
stoped=0
zombie=0
# 在 proc 目录下所有以数字开始的都是当前计算机正在运行的进程的进程 PID
# 每个 PID 编号的目录下记录有该进程相关的信息
for pid in /proc/[1‐9]*
doprocs=$[procs+1]stat=$(awk '{print $3}' $pid/stat)
# 每个 pid 目录下都有一个 stat 文件,该文件的第 3 列是该进程的状态信息case $stat inR)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@ubuntu:~# vi 1.sh
root@ubuntu:~# chmod +x 1.sh
root@ubuntu:~# ./1.sh
进程统计信息如下
总进程数量为:72
Running 进程数为:0
Stoped 进程数为:0
Sleeping 进程数为:72
Zombie 进程数为:0

参考链接 :
Shell脚本:一段有意思的shell脚本之统计进程数 :https://www.jianshu.com/p/468b10452169

shell脚本之统计进程数(ubuntu实测可用)相关推荐

  1. 超实用的shell脚本--一键获取进程所有信息

    转载来源 :超实用的shell脚本–一键获取进程所有信息 :http://www.safebase.cn/article-257427-1.html 摘要: 概述有时我们想只是通过一个进程PID就可以 ...

  2. 用shell脚本写一个猜数游戏

    用shell脚本写一个猜数游戏 最近用shell写的一个猜数游戏,包括4个不同难度,脚本如下: #作者:p_小王echo '欢迎来到猜数游戏!' while true doread -p '开始/退出 ...

  3. linux 脚本 杀进程,shell脚本实现杀死进程并启动程序(重启程序)【显哥出品,必为精品】...

    #!/bin/bash #取jms进程号 Das_ID=$(ps -ef |grep "python3 ./jms start" |grep -v "grep" ...

  4. [linux] shell脚本编程-统计日志文件中的设备号发通知邮件

    1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|gr ...

  5. linux 脚本 获取pid,Shell脚本中获取进程ID的方法

    提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将she ...

  6. oracle同一个示例两个用户的数据同步_分享两个shell脚本--一键统计Oracle数据库用户信息...

    概述 今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB l ...

  7. SHELL脚本之统计目录下文件及子目录数量

    一.需求说明   需要统计某目录下的文件数量,事实上统计目录下文件数量只需要一条命令即可完成,写成shell脚本只是方便使用和展示.另外我们以后还可以在此脚本上进行扩展,统计指定类型的文件数量,指定文 ...

  8. linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

    实现代码一. #!/bin/sh # 判断文件是否存在 # lilSzqFnk:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/&q ...

  9. Shell脚本实现统计指定目录下的文件和目录数量

    编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量. 要求: ▪调用脚本countdf.sh ▪运行脚本时,在命令行中使用目录的路径,例如 ./countdf.sh〜 /test01.这 ...

最新文章

  1. 洛谷 P3805 manacher算法
  2. Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...
  3. ai二维码插件_送你60款AI脚本插件包,已整合成插件面板的形式,方便在AI中调用...
  4. 域名防系统+独立接口池+独立会员+独立权限
  5. jQuery的鼠标事件总结
  6. Elasticsearch搜索类型(query type)详解
  7. typescript 与 js 开发 react 的区别
  8. 【附PDF下载】2021年上半年信息系统项目管理师上午综合知识真题
  9. 2021-07-01css常用字体代码
  10. vue点击按钮打开下拉菜单_vue+element下拉框样式的点击按钮
  11. 如何快速删除 Word 文档中的分节符
  12. OpenFPGA系列(四) OpenFPGA 架构描述文件和仿真配置文件
  13. 在家月入5q+有手机就能赚米,推荐14个让你在家就能挣米的软件
  14. excel表格行列显示十字定位_突出显示活动单元格所在行列的设置方法
  15. 最完整二叉树删除节点
  16. 罗振宇跨年2022演讲金句品读
  17. mysql事物sql语句死锁,定时任务启动失败Lock wait timeout exceeded;try restarting transaction
  18. 信息系统项目管理师-九大知识领域必备知识点整理
  19. Xshell入门必看
  20. 如何从零自学成为前端工程师,怎么学习?怎么选老师?

热门文章

  1. python实现GBDT算法的回归、二分类以及多分类,算法流程解读并可视化
  2. 动态改变标题_小米相册更新,新增动态换天/赛博朋克/MIUI12界面等等!
  3. sklearn 决策树例子_Sklearn库例子——决策树分类
  4. pytorch按照索引取batch中的数
  5. 11g Rman新特性SET NEWNAME
  6. baidu google 下拉框 的简单实现
  7. win32_bios 的对象编辑器无法保存对象_技能编辑器设计文档
  8. flutter常用内置动画组件
  9. 腾讯再开源三项技术,提升企业开发及运营效率
  10. 深度学习(deep learning)优化调参细节(trick)