Linux:如何强制杀死一个进程和杀死多个进程

本文详细介绍了 Linux 下的 kill 命令,包括如何使用 kill 命令发送不同信号来终止进程,以及如何批量操作多个进程。此外还提供了 kill 命令的常用选项说明和实际操作示例。

杀死进程号为2153的进程:

jackson@DESKTOP-GGSA9L0:~$ kill 2153

强制杀死进程号为2153的进程:

jackson@DESKTOP-GGSA9L0:~$ kill -9 2153

杀死多个进程(空格隔开进程号):

jackson@DESKTOP-GGSA9L0:~$ kill 2153 2154 2155

详细解释见下。

1.简介

Linux kill 命令用于删除执行中的程序或工作。

kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。

2.用法

Usage:
kill [options] <pid> […]

对于[…],<>等符号的解释详见Linux: Usage中[],<>的含义

Options:

<pid> […]send signal to every listed
-<signal>, -s <signal>, --signal <signal>specify the <signal> to be sent
-l, --list=[]list all signal names, or convert one to a name
-L, --tablelist all signal names in a nice table
-h, --helpdisplay this help and exit
-V, --versionoutput version information and exit

有的博客或文档还会列出以下命令:

kill -a
kill -p
kill -u

这可能与linux的版本相关,在我使用的ubuntu18.04中输入上述参数报错invalid signal specification, 如果你想使用这些参数,详见文档

3. 例子

(1) <pid> […]

<pid>代表进程号,也就是kill 后面直接跟进程号可杀死该进程。
<pid> […] 代表多个进程号,也就是kill 后面跟多个进程号可杀死这些进程。比如

jackson@DESKTOP-GGSA9L0:~$ kill 2153
jackson@DESKTOP-GGSA9L0:~$ kill 2153 2154 2155

(2)-l, --list=[]

A. 如果-l 后面不加任何参数,那就就代表列出所有的信号名字

jackson@DESKTOP-GGSA9L0:~$ kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

B. -l后面可以跟信息名称或者信息号,分别用于将信息名称转换成信息号以及将信息号转换成信息名称,如下所示。

jackson@DESKTOP-GGSA9L0:~$ kill -l SIGKILL
9
jackson@DESKTOP-GGSA9L0:~$ kill -l 9
KILL

(3). -<signal>, -s <signal>, --signal <signal>

这里有三种用法,第一种直接跟信息号,第二种-s后面跟信息号,第三种是–signal后面跟信息号。但是无论哪一种,想要杀死某个进程,后面都需要接上进程号。如下:

jackson@DESKTOP-GGSA9L0:~$ kill -9 2153
jackson@DESKTOP-GGSA9L0:~$ kill -s 9 2153
jackson@DESKTOP-GGSA9L0:~$ kill --signal 9 2153

(4). -h和-V

关于帮助文档和版本信息,不再赘述。

3.参考资料:

[1] https://www.cnblogs.com/wangcp-2014/p/5146343.html
[2] https://www.runoob.com/linux/linux-comm-kill.html
[3] https://www.cnblogs.com/heracles-lau/articles/3392029.html
[4] https://blog.csdn.net/xiaoyilong2007101095/article/details/72900739

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值