常用进程查看工具

进程是我们学习Linux中常常接触的概念,他是程序被运行起来的一种表现形态。

了解进程的工作状态,管理进程的工作状态,可以让我们更清楚的知道,系统正在做什么,整体的进度是怎么样的。

想要了解进程的工作状态,我们就需要借助一些常用的工具来查看,想要对进程进行管理,我们也需要工具来实现。下面我们一起来看一看常用的查看进程工具有哪些,这些工具是如何使用的,有什么特点等等。

常用的进程查看工具有以下几种:

pstree ps pidof pkill  pgrep top htop  

首先要说的第一个就是pstree

这个命令最常用的方法就是pstree,后面不跟任何参数。这是一个将系统中的所有进程,以进程树形态显示出来的工具,让我们可以拥有一个全局的眼光,去查看系统的进程。


常用进程查看工具



这就是pstree的显示结果,相信通过以上这张图,能让我们对pstree的显示方式有一个比较直观的了解。我们可以很容易的了解到系统一共运行了哪些进程,各个进程分别 包含了哪些线程等等。

接下来介绍一下ps这个命令的使用。

这或许是我们使用频率最高的查看进程的命令了。

需要注意的是,ps这个命令,工作方式有点类似“snapshot”,当我们每次执行一次ps的时候,ps命令就会将系统当前的进程的运行状态做一个静态“snapshot”,然后显示给我们,这样的结果就是,有可能我们每次执行ps的结果,都是不一样的。

按我的理解,ps是将动态的系统的进程的状态的某个时间点的状态,静态的显示给我们。

来看看ps命令常跟的选项,以及各个选项分别是什么意思:

ps支持两种风格的显示方式,一种是BSD风格,一种是UNIX风格。

BSD风格的选项:

ps a 显示所有与终端相关的进程

ps x 显示所有与终端无关的进程

ps u 显示进程所有者的相关信息

ps f 显示进程的父进程

ps o options的意思,即有选择性的显示

 

其实这些选项都是组合着用的,最常见的组合方式有以下几种:

ps aux

ps auxf

ps axo  [pid,euid,ruid,tty,ppid,%cpu,%mem]

 

ps aux 显示结果:

常用进程查看工具


 

ps auxf 

常用进程查看工具


ps axo  定义要显示的选项的显示结果:

常用进程查看工具


 

说完BSD风格,再来说说UNIX风格的显示。

ps  -e  e既是extend的意思,扩展显示

ps  -f  显示完整格式

ps  -F  显示更完整的格式

ps  -H  hierarchy,以层级结构的方式显示

ps  -U 显示以指定的用户运行的程序

 

其实这些选项也是组合着用的,最常用的莫过于

ps -eFH

 

常用进程查看工具


 

关于ps的显示结果,在其第一行的各项参数,我们有必要了解一下,这样我们才能对进程做更深入的理解。

UID: 进程的发起者

PID:通过此前的用户管理章节的学习,我们已经知道,计算机是靠数字来标识这些不同的进程的,进程编号存在的意义也是一样的,人能记住进程名,但计算机可记不住,它只能记数字。

PPID: 这个多出来的P就是parent的意思。

C: 即CPU,运行在哪颗CPU核心上。

%CPU: 分配到的CPU的时间片百分比

%MEM: 实际占用的内存百分比

VSZ:虚拟内存集

RSS:常驻内存集

START:启动时间

TIME:运行占据CPU的累计时长

COMAND: 由哪个命令运行起来

STAT:进程的运行状态

常见的进程的运行状态有:

RRUNING

Sinterruptable sleep 可中断睡眠

Duninterruptable sleep 不可中断睡眠,(一般都是在等待IO结束发生)

TSTOP

Zzombie 僵尸进程

+:前台运行的进程

l :多线程进程

N:低优先级进程

< :高优先级进程

s:创建会话者,通常都为bash程序

 

 

pidof  命令的使用:

从字面的意思即可以看出,这是一个获取进程的PID的命令。后边跟的参数当然是进程名啦。

我们可以根据一个进程的名字,得知这个进程的PID是多少,并且这个程序并发运行了多少个进程。

如下图可以看出sshd这个服务端程序发起了两个进程,分别为54221824

常用进程查看工具


 

再来说说pgreppkill

之所以放在一起说,是因为这两个命令的使用几乎一样。

语法格式都为:

pgrep  [options]  pattern

pkill   [options]  pattern

常见选项:

pgrep | pkill

-u  uid  实际运行的用户

-U  uid  真实生效的用户

-t  terminal   显示指定终端相关的进程

 

pgrep  -l  显示出进程名

pgrep  -a  显示完整格式的进程名

 

 

 

接下来要说的就是top命令了。top的显示结果非常强大,信息非常丰富。

并且,之前说的pstree , ps , pidof ,pgrep ,pkill 都是静态显示,而top却是动态显示。

 

常用进程查看工具

 

信息有够丰富!

相信刚才对显示的参数的介绍,大家也能触类旁通的理解top显示的参数分别是什么意思了。

我们挑两个重要的来说一说。

load vaerage:  这个选项显示的是过去1分钟,五分钟,十五分钟系统的负载,是一个衡量系统负载是否正常的非常重要的参数。当然啦,uptime命令也能显示类似的信息。

CPUs)相关的参数的解析;

us:用户空间程序占据的CPU百分比

sy: 内核空间程序占据的CPU百分比

ni: 调整NICE值占据的时间

id:空闲比例

wa:等待IO完成的时间

hi: 硬中断,通常由磁盘这个硬件发起

si: 软中断,通过由软件发起

st:被虚拟化技术偷走的时间

top工具的使用:

默认情况下,这个工具是按占据CPU的百分比排序的。

top  -d 调整刷新间隔

top  -n  显示多当次后退出

当然啦,top虽然已经够强大,但黑白看着未免单调,于是诞生了一个界面相对比较“华丽”的htop,参数与top大同小异。

可以看看htop的效果图,要显眼许多。

常用进程查看工具

 

 

当然啦,无论工具界面如何,我们都无需太过在意,毕竟linux大多数情况下都是比较单调,强调实用的,能将任何一款工具用得熟练,获得我们想要的信息,才是最重要的。

以上是常见的进程的查看工具的使用,希望对大家有些帮助。

原创文章,作者:old_radish,如若转载,请注明出处:http://www.178linux.com/75090

(0)
old_radishold_radish
上一篇 2017-05-08 23:06
下一篇 2017-05-09 14:33

相关推荐

  • CentOS 6.5 LVM磁盘管理学习笔记

    在系统运维和服务器管理过程中,经常遇到服务器磁盘容量不足,需要在线扩容的情况。普通磁盘分区的管理方式在逻辑分区划好之后就无法改变其大小。而LVM可以实现Linux服务器下面磁盘空间的在线扩容和动态管理,相对于普通的磁盘分区有很大的灵活性。一、LVM简介    LVM是 Logical VolumeManager(逻辑卷管理)的简…

    Linux干货 2016-08-29
  • Nginx配置进阶

    目录 ngx_http_rewrite_module模块 ngx_http_gzip_module模块 ngx_http_fastcgi_module模块 ngx_http_ssl_module模块 ngx_http_referer_module模块 ngx_http_rewrite_module模块 将用户某一次请求的URI当中的字符串是不是能够被我们给出…

    Linux干货 2016-11-05
  • awk入门应用

    awk概述使用语法常用命令选项相关输出命令print item1,item2,…printf FORMAT,item1,item2,….相关格式符相关修饰符相关内建变量相关内置函数相关操作符相关模式相关控制语句及示例if(condition) statementsif(condition){statements} else {statements}while…

    Linux干货 2016-12-04
  • bind简单配置之子域、主从、视图

    [bind简单配置之子域、主从、视图] 标签:bind简单配置、子域、主从、视图 [逻辑拓扑结构图] ns.mylinux.com主机上面有两种网卡用来模拟两个不通的网段。 [子域配置]         域名内部还可以继续划分子域,进行分片管理。下面是正向子域授权的配置: &nb…

    Linux干货 2015-10-22
  • 马哥教育网络班21期第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel/ /home/tuser1 # chmod -R go= /home/tuser1/ 2、编辑/etc/gr…

    Linux干货 2016-07-27