kill终止进程命令详解

 

1、查看进程树命令

pstree:能给清晰的表达程序之间的层级相互关系

在centos/Redhat系列的linux中,需要单独安装此命令

 

yum install psmisc -y

 

 

 

 

 

2、pgrep命令

 

通过程序查询进程名字,一般判断程序是否存活

[root@WALKER ~]# pgrep nginx
[root@WALKER ~]# pgrep ssh(输入ssh进程的id号,判断试试是否存活)
1121
58975
58996
[root@WALKER ~]#
[root@WALKER ~]# pgrep -l ssh(输入ssh进程的id号和进程名)
1121 sshd
58975 sshd
58996 sshd

 

 

3、kill命令

发送相关信号给进程,达到不同的停止效果

 

kill参数:

-l:列出所有的终止信号

常用信号如下:

1) SIGHUP:挂起进程(终端突然掉线,用户突然退出)

2) SIGINT:中断信号,一般常用Ctrl+C发送信号

3) SIGQUIT:退出信号,一般用Ctrl+\发送信号

9) SIGKILL:强制中断信号,一般用户立即杀死某些进程

15) SIGTERM:kill默认使用的就是此信号
20) SIGTSTP:暂停进程,通常是组合键ctrl+z发出此信号

 

终止进程:

kill pid :发送15信号,终止进程

kill-9 pid:立即停止进程,危险命令,可以杀死所有的进程,如僵尸进程

 

 

4、kill特殊信号之0

kill的特殊信号0,常用在shell脚本中

kill  -0 $pid :表示不发送任何的信号给pid,但是会对这个pid进行检查,如果执行的结果是0,表示此进程存在;如果结果为1,进程不存在

(信号0可以判断,pid是否存在)

 

 

5、killall和pkill命令

kill只能杀死一个进程

(1)killall:可以通过名字杀死多个进程

[root@WALKER ~]# killall vim(杀死所有的vim进程)
[root@WALKER ~]#

 

(2)pkill:和killall作用差不多,但是killall杀死进程可以一次杀不死(进程可能含有子进程,killall要杀死多次),pkill可以直接杀死父进程和子进程

 

6、通过终端的名字杀死进程

[root@WALKER ~]# w
 11:22:15 up  7:08,  4 users,  load average: 0.00, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.255.1    10:39    7.00s  0.05s  0.05s -bash
root     pts/1    192.168.255.1    10:39   42:37   4.09s  4.09s top
root     pts/2    192.168.255.1    11:21    1:03   0.02s  0.02s -bash
root     pts/3    192.168.255.1    11:21    1:08   0.11s  0.11s top
[root@WALKER ~]# pkill -t -9 pts/3
[root@WALKER ~]# tty
/dev/pts/0
[root@WALKER ~]#

 

posted @ 2022-05-25 11:27  屯子里唯一的架构师  阅读(3669)  评论(0编辑  收藏  举报