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 ~]#