二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科技资讯 » 正文

shell脚本获取进程基本信息

放大字体  缩小字体 发布日期:2023-03-14 15:34:10    作者:田靖琪    浏览次数:147
导读

花了一会时间写了个脚本指定进程得pid,获取他得运行状态、父进程id、运行时长、物理内存、虚拟内存等信息,还有一个CPU占用率没有获取他,想要获取这个值直接top即可,没有必要在这个脚本中实现。主要方法是获取/pr

花了一会时间写了个脚本

指定进程得pid,获取他得运行状态、父进程id、运行时长、物理内存、虚拟内存等信息,还有一个CPU占用率没有获取他,想要获取这个值直接top即可,没有必要在这个脚本中实现。

主要方法是获取/proc/$pid/stat和/proc/$pid/status两个文件

这两个文件得主要内容介绍可以看下这个链接:感谢分享特别kernel.org/doc/html/latest/filesystems/proc.html

直接上脚本代码

#!/bin/sh#根据进程号获取进程得信息,包括运行时间、CPU占用率、物理内存占用、父进程idHZ=100pid=$1# [ -z "$pid" ] && echo "未指定P发布者会员账号" && exit 1# pid=$# echo $pidget_uptime(){ uptime=$(cat /proc/uptime | awk '{print int($0)}') echo $uptime}_name=""_ppid=""stat=$(cat /proc/$pid/stat)# echo $stati=0for s in $statdo # echo "$i,$s" [ $i = 1 ]&& _name=$s [ $i = 2 ]&& _state=$s [ $i = 3 ]&& _ppid=$s [ $i = 21 ]&& _start_time=$(($s/100)) #单位是jiffies i=$(($i+1))donehwmem=$(cat /proc/$pid/status | grep VmRSS | cut -d ' ' -f 5)vmmem=$(cat /proc/$pid/status | grep VmSize | cut -d ' ' -f 5)uptime=$(get_uptime)_run_time=$(($uptime-$_start_time))echo -e "进程名称:\t"$_nameecho -e "运行状态:\t"$_stateecho -e "运行时长:\t"$_run_time"秒"echo -e "父进程发布者会员账号:\t"$_ppidecho -e "物理内存:\t"$hwmem"KB"echo -e "虚拟内存:\t"$vmmem"KB"# echo $_name $_state $_run_time

 
(文/田靖琪)
打赏
免责声明
• 
本文为田靖琪原创作品•作者: 田靖琪。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-374096.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈