关闭

linux系统检测

171人阅读 评论(0) 收藏 举报
分类:

公司机器人系统在长时间运行的过程中,经常出现崩溃问题,因此,需要编写一个检测系统和对应进程的脚本。开始认为用top命令然后截取相应信息的话,就可以容易的实现了,但是发现top命令中有很多不可控的信息。下面介绍使用top,ps,以及直接读取/proc信息的方法来检测进程信息的方法。

1、top方法以及缺点

top方法显示的信息比较全,先使用pgrep <进程名>获取进程id(避免使用grep<进程名>导致截取进程名包含的情况),然后通过top -n 1 | grep $pid | cut -d ' ' -f x,x 的命令来截取相对应的域列信息,使用top -n 1不直接使用top是因为直接使用top命令是动态显示,无法获取赋值到脚本变量。cut用于截取列。

缺点:cut截取是使用截取固定行的方法,但是在长时间截取的时候,会发现top域列并不是固定,按照固定行截取经常会截取到其他行。

2、ps 方法

ps方法可以指定行的顺序,使用ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | pgrep $pid | cut -d ' ' -f  x,x。长时间运行的情况,正在测试。实测,跟top一样,列并不是固定的。

3、/proc 方法

系统的进程等信息都是直接保存在/proc方法中的,在/proc/$pid的文件夹中可以获取对应的信息,这应该是最保险的方法。

0
0

猜你在找
【直播】计算机视觉原理及实战—屈教授
【套餐】深度学习入门视频课程—唐宇迪
【套餐】Hadoop生态系统零基础入门--侯勇蛟
【套餐】嵌入式Linux C编程基础--朱有鹏
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】机器学习之凸优化——马博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5289次
    • 积分:184
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论