linux下监控进程需掌握的四个命令

在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的是,

有一些命令行工具可使这些任务轻松些,下面介绍四个基本工具:

一、进程的查看:

1.特定时间进程监控:ps

默认情况下,ps命令不会显示太多的信息,只显示属于当前用户并且正在当前终端运行的进程,如下图:

Linux系统中使用的GNU ps支持Unix类型参数、BSD类型参数、GNU长参数三种不同的命令行参数,下面只介绍Unix类型参数和示例:

 上面列出了许多参数,但请记住,这只是其中的一部分!使用ps命令的关键不是记住所有可用的参数,而是仅记住最有用的,大多数的Linux系统管理员都有一套自己的一组常用参数,

用于提取相关信息。例如,需查看系统上运行的一切进程的详细信息,可以这样:

为节省空间,上图删去了很多行。每个信息列标题的含义如下:

 如果需要更详细的信息,可以用-l命令,简要结果如下:

需要注意的是,显示结果的额外列的含义:

另外,比较方便的一个参数是-H,它会让结果分层显示,效果类似下图:

总结:ps命令,用于特定时间查看进程,比较常用的参数有-e、-f、-l、-H等,它的缺点是不能实时监控系统进程,所以,有了top的用武之地……

2.实时进程监控:top

选择top的原因,主要是更准确掌握在内存中换进换出的进程趋势,其中,输出的第一部分显示一些系统信息,如当前时间、进程信息、Cpu信息等等,如下图所示,

其中,黄色底纹标题的具体含义如下:

top的具体交互式命令,如下图:

可见,通过top命令,可是第一时间查到异常进程,接下来要做的,就是阻止异常进程,这要依靠以下停止进程的命令了……

二、停止进程:

在Linux中,各进程使用信号互相通信,进程信号时进程可识别的预定义信息,这些由开发人员规划。大多数精心编写的程序都能够接收标准Unix进程信号,

并对此作出响应,这些信号如下表所示:

Linux提供了以下两个命令用于发送进程信号给运行中的进程。详解如下:

1.kill命令

kill命令允许通过进程ID(PID)将信号发送给相关的进程。使用此命令时要注意用户权限,必须是该进程的所有者或者已作为跟用户登陆。

另外,如果某个进程失控,需要借助-s参数,来外加信号终止它,例如,可以使用KILL强制终止进程。

2.killall命令

killall命令非常强大,它可以根据进程的名称而不是难以记住的PID来停止进程。同时它还允许使用通配符,对于处理出错的系统极为有用。

但需要注意的是,作为根目录登陆是,killall命令要格外小心使用通配符,这样很容易意外停止重要的系统进程,导致文件系统受损!

posted @ 2014-01-21 00:30  thinker-lj  Views(5731)  Comments(2Edit  收藏  举报