主要讲解进程管理类命令及工具的使用: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
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 ~]#
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更加易用--->