常用进程查看工具

进程是我们学习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:进程的运行状态

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

R:RUNING

S:interruptable sleep 可中断睡眠

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

T:STOP

Z:zombie 僵尸进程

+:前台运行的进程

l :多线程进程

N:低优先级进程

< :高优先级进程

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

 

 

pidof  命令的使用:

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

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

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

常用进程查看工具


 

再来说说pgrep和pkill

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

语法格式都为:

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命令也能显示类似的信息。

CPU(s)相关的参数的解析;

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

相关推荐

  • Linux用户和组管理

    Linux用户和组管理 Username / UID 管理员:root,0 普通用户 : 1–65535 系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1–499(CentOS 6.X) 1–999 (CentOS 7.X) 登录用户:平时专门做系统管理的用户 500+ (CentOS 6.X) 1000+ (CeentOS 7.X)…

    Linux干货 2017-04-01
  • Keepalive+Nginx高可用配置(主从)

    Keepalived高可用集群 一、Keepalived介绍 Keepalived软件主要通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题,它能够保证当个别节点宕机时,整个网络可以不间断地运行。keepalived除…

    Linux干货 2016-12-30
  • 以洪荒之力打开linux德·摩根定律

    德·摩根定律让学习liunx的小伙伴绕得头疼,现在我就用洪荒之力为大家理顺一下这个定律。 由图片可以看出, A=4+3 B=3+2 非A=2+1 非B=4+1 A且B就是代表既是A又是B的地方,A和B都有色块3,所以色块3代表了A且B 同时,我们再看A=4+3 ,B=3+2,我们可以推断出,且运算的结果就是两个算数式中重复的数字。 A且B=3 A或B就是代表…

    Linux干货 2016-08-15
  • LINUX磁盘及文件系统管理

    LINUX磁盘及文件系统管理 cpu,Memory(RAM),I/O I/O:Disks,Entercard    Disks:持久存储数据       接口类型:        IDE(ata):并…

    Linux干货 2016-08-29
  • Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小…

    Linux干货 2016-08-15
  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10