linux系统检测

原创 2016年06月02日 10:30:32

公司机器人系统在长时间运行的过程中,经常出现崩溃问题,因此,需要编写一个检测系统和对应进程的脚本。开始认为用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的文件夹中可以获取对应的信息,这应该是最保险的方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何检测Linux系统已下载文件的完整性

以下内容为转载,原味地址:http://www.xitongzhijia.net/xtjc/20141229/33635.html      因为Linux系统安装软件较为复杂,如果下载的软件被修改...

编写在Android的Linux系统中直接运行的可执行程序 - 检测CPU能力

原创文章 - 转载注明出处:http://blog.csdn.net/abnerchai/  E-mail: ajaxchai@gmail.com 大家都知道Android是基于Linux构建的...

linux系统状态及进程检测

一、 1. hostname 主机名 (vi /etc/sysconfig/network) 2. uname -a  (uname -i -p -r -m) 3. last 最近用户登陆信息 ...

linux系统调度之时间

linux系统的调度过程是基于时间子系统实现的。无论判断一个系统的性能还是计算一个进程的cpu占用率等,其本质都是进程或中断等占有cpu的时间。了解linux中时间的概念,尤为重要。本文将为你剖析一下...

Linux系统下telnet包

  • 2017-06-27 12:11
  • 53KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)