常用进程查看工具

进程是我们学习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
下一篇 2017-05-09

相关推荐

  • Linux中正则表达式和grep的使用

    正则表达式在Linux经常配合grep,sed和awk等用于搜寻关键字。正则表达式分为正则表达式和扩展正则表达式: 一、正则表达式 1.1 元字符: .:匹配任意字符    []:匹配[]中的任意一个字符 [^]:匹配[]以外的任意字符 [:alpha:]大小写英文字母 [:digit:]:十进制数字 [:xdigit…

    Linux干货 2017-04-08
  • Hello World, Hello Linux.

    文笔不好,请见谅。

    2018-03-26
  • 学习宣言

      人生还有很多精彩时刻,需要你去探寻,linux 就是这个深渊的入口,我其实已迫不及待,伙伴们别怕,跟我来,一路披荆斩棘,踏寻生命的足迹!Fighting!

    Linux干货 2016-10-25
  • 文件管理

    一、文件系统     单根架构,根文件系统rootfs     不是linux大小写敏感,而是文件系统支不支持大小写。     路径分割 /     FHS:目录结构,文件分层标准  &nb…

    Linux干货 2016-08-02
  • ​文本编辑器nano

    新建/打开文件     nano 路径+文件名,文件存在则为打开,否则新建;(未输入文件名,编辑完成后,保存退出会提示输入文件名); nano     note:nano中,黑底白字表示快捷键操作。其中“^”表示Ctrl键,则Ctrl+G就表示成“^G”。“M”表示 Alt键,则Alt+W表示为“M…

    Linux干货 2016-05-05
  • 文本处理工具练习题(包含正则)

    正则练习题(包含文本处理练习题) 问题 找出ifconfig命令结果中本机的所有IPv4地址  查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干货 2016-08-08