【进程/作业管理】篇章一:Linux进程及其管理(进程管理类工具)----pstree、ps、top、htop、kill、(killall、pkill、pgrep、pidof)

主要讲解进程管理类命令及工具的使用:pstree、ps、top、htop、kill、(killall、pkill、pgrep、pidof)



pstree 以树状图的方式展现进程之间的派生关系,显示效果比较直观 静态显示 
pgrep 进程显示过滤,用法和参数基本一样 静~~~
pidof 根据进程获取其ID名 静~~~
kill 用于向进程发送信号,以实现对进程的管理 静~~~
killall 杀死指定进程 静~~~
pkill 和killall命令用法基本上差不多 静~~~
ps 用于报告当前系统的进程状态,实际是将/proc/目录下的各个进程的相关信息转换为我们易读的模式展现出来;可以搭配kill指令随时中断、删除不必要的程序 静~~~
top 实时动态地查看系统的整体运行情况,但是htop更加易用 动态显示
htop 实时动态地查看系统的整体运行情况,htop更加易用 动态显示


pstree命令详解:

  <---以树状图的方式展现进程之间的派生关系,显示效果比较直观--->

这个命令简单没有什么说的,语法格式:

  pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-Z] [-A|-G|-U] [pid|user]

  pstree -V

options:
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
-l:采用长列格式显示树状图 -p:显示进程的PID号 -u:显示用户名称 -V:显示版本信息 [pid|user]:根据pid或者user信息来显示我们需要的信息

示例1:以树状图显示进程还显示进程号和进程ID

  # pstree -p

示例2:显示所有进程的所有详细信息

  # pstree -a

示例3:以树状图显示进程PID为<pid>的进程以及子孙进程

  # pstree <pid>

示例4:以树状图显示进程PID为<pid>的进程以及子孙进程,同时显示每个进程的PID

  # pstree -p <pid>

1 [root@test1 ~]# pstree -p 3338
2 sshd(3338)───bash(3342)─┬─cat(3430)
3                         └─pstree(4757)
4 [root@test1 ~]# pstree -p 1520
5 sshd(1520)───sshd(3338)───bash(3342)─┬─cat(3430)
6                                      └─pstree(4758)
7 [root@test1 ~]# pstree 1520
8 sshd───sshd───bash─┬─cat
9                    └─pstree
View Code


 pgrep命令详解

  <---进程显示过滤,--->

  语法格式:pgrep [options] pattern  

options:
-u uid:effective user 有效用户 -U uid:read user 世纪用户 -t TERMINAL:与指定的终端相关的进程; -l:显示进程名; -a:显示完整格式的进程名; -P pid:显示此进程的子进程;
pattern:
  使用全称
  也可以使用命令行glob通配和grep的pattern(模式)

pgrep查找的是程序名,不包括其参数

示例1:查看指定进程的信息(注意:该命令默认只显示PID)

  # pgrep ssh

示例2:同时显示进程名和PID

  #pgrep -l ssh

示例3:当匹配多个进程时,显示进程号最小的那个

  # pgrep -ol ssh

示例3:当匹配多个进程时,显示进程号最大的那个

  # pgrep -nl ssh



 pidof命令详解:

  <--根据进程名,获取其ID名-->

  语法格式:pidof [-s] [-c] [-x] [-m] [-o omitpid] [-o omitpid..] program [program..]

options:
-s:仅返回一个进程号; -c:仅显示具有相同“root”目录的进程; -x:显示由脚本开启的进程; -o:指定不显示的进程ID。
 program:
指定查找的进程名称

示例:

[root@test1 ~]# pidof httpd
4995 4994 4993 4992 4991 4990 4989 4988 4986
[root@test1 ~]# pidof httpd -s
4995
[root@test1 ~]# pidof httpd -c
4995 4994 4993 4992 4991 4990 4989 4988 4986
[root@test1 ~]# pidof httpd -x
4995 4994 4993 4992 4991 4990 4989 4988 4986
[root@test1 ~]# pidof httpd -o
pidof: invalid options on command line!

[root@test1 ~]# 
View Code


 kill命令详解:

  <---用于向进程发送信号,以实现对进程的管理--->

  语法格式:kill  [-s signal|-SIGNAL]  pid...

       kill -l [signal]

命令的使用方法直接看命令总结篇:https://www.cnblogs.com/l75790/articles/9192657.html



killall命令详解:

  <---杀死指定进程--->

  命令格式:killall[参数][进程名]

备注:Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。

options:
  -Z 只杀死拥有scontext 的进程
  -e 要求匹配进程名称
  -I 忽略小写
  -g 杀死进程组而不是进程
  -i 交互模式,杀死进程前先询问用户
  -l 列出所有的已知信号名称
  -q 不输出警告信息
  -s 发送指定的信号
  -v 报告信号是否成功发送
  -w 等待进程死亡
  --help 显示帮助信息
  --version 显示版本显示

示例:杀死所有同名进程

  # killall -9 httpd

  # kill -9 $(ps -ef | grep httpd)  和上面的killall命令功效一样



 pkill命令:

  <---pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill来杀掉--->
  语法:pkill    正在运行的程式名



ps命令详解:

  <---用于报告当前系统的进程状态,实际是将/proc/目录下的各个进程的相关信息转换为我们易读的模式展现出来;可以搭配kill指令随时中断、删除不必要的程序--->

   语法格式: ps [options]

  ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

  要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

  注意:ps 为我们提供了进程的一次性的查看,且是创建的当前进程的快照(静态查看),它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具

  命令详解链接:https://www.cnblogs.com/l75790/articles/9192863.html



top命令详解

  <--- 实时动态地查看系统的整体运行情况,但是htop更加易用--->

命令详解链接:https://www.cnblogs.com/l75790/articles/9196905.html

uptime命令显示的是第一行任务队列信息



htop命令详解:

  <---实时动态地查看系统的整体运行情况,htop更加易用--->

 命令详解链接:https://www.cnblogs.com/l75790/articles/9196909.html

原文地址:https://www.cnblogs.com/l75790/p/9191931.html