常用进程查看工具

进程是我们学习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

相关推荐

  • N25第三周作业

    .列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 此题主要考察命令who,cut,sort以及管道的基本用法:who:列出当前已登陆的用户名,登陆设备名,时间以及ip地址。 cut:    顾名思义就是截取之意, -d 指定要截取信息的分隔符,此处是以空格为分隔符,-f指定要截取的字段,此…

    Linux干货 2016-12-20
  • 2016/10/26作业:用户和组的相关配置文件

    linux系统是通过文件来保存配置的,其中关于用户和组的配置文件包括以下几个: /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/login.defs /etc/default/useradd /etc/passwd 存放用户信息的配置文件,其基本格式如下 root:x:0:0:root:/root:/…

    Linux干货 2016-10-26
  • 文件通配符是啥?

    文件通配符     包含 ‘?’, ‘*’ 或 ‘[‘ 字符的字符串称为通配符模板(wildcard  pattern).形成路径名(globbing)指一种操作,把通配符模板展开为匹配该串的路径名.匹配定义为:   …

    Linux干货 2017-04-23
  • keepalived的初级使用

        1、双主模型的ipvs高可用   一、双主模型的ipvs高可用     1)网络结构图       2)、ipvs的类型是dr模型,调度算法是rr       RS1和RS2都是centos6.8 对RS1和RS2的配置:…

    Linux干货 2017-05-15
  • Linux mdadm命令解析

    mdadm命令解析 一,在Linux系统中目前MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的…

    Linux干货 2017-08-31
  • Linux文件类型及把剩下的颜色标识

    Linux文件类型及bash下的颜色标识 Linux一切皆文件 查看文件类型的命令: 例如:列出ls的文件类型                file  /bin/ls 例如:粗略的列出文件类型           &n…

    Linux干货 2016-10-16