一、概要
1. kill 命令根据进程号(pid)杀死单个进程
2. pkill 命令根据名字杀死该名字下的所有进程
3. killall 命令根据名字杀死该名字下的所有进程,跟pkill类似
二、kill 命令
Linux kill 命令用于删除执行中的程序或工作。
kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。
基本用法:
kill 2153 # 杀死进程号为2153的进程
kill -9 2153 # 强制杀死进程号为2153的进程
详细可以看这篇文章Linux:如何强制杀死一个进程和杀死多个进程
三、pkill 命令
Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令。
kill 命令杀死指定进程 PID,需要配合 ps 使用,而 pkill 直接对进程对名字进行操作,更加方便。
1. 语法
pkill [选项] process_name
参数说明:
- process_name : 进程名
选项包含如下几个参数:
- -o 仅向找到的最小(起始)进程号发送信号 -n 仅向找到的最大(结束)进程号发送信号
- -P 指定父进程号发送信号
- -g 指定进程组
- -t 指定开启进程的终端
2. 实例
pkill -9 php-fpm //结束所有的 php-fpm 进程
四、killall 命令
Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。
1. 语法
killall [选项] process_name
参数说明:
- -Z 只杀死拥有scontext 的进程
- -e 要求匹配进程名称
- -I 忽略小写
- -g 杀死进程组而不是进程
- -i 交互模式,杀死进程前先询问用户
- -l 列出所有的已知信号名称
- -q 不输出警告信息
- -s 发送指定的信号
- -v 报告信号是否成功发送
- -w 等待进程死亡
- --help 显示帮助信息
- --version 显示版本显示
2. 实例
killall nginx //杀死所有nginx进程
killall -9 bash //强制杀死所有bash进程
killall -TERM nginx //向进程发送指定TERM信号
killall -KILL nginx //向进程发送指定KILL信号
想要了解所有的信号,可以通过killall-l 或者kill -l进行查看
五、参考资料
[1] https://blog.csdn.net/qq_40765537/article/details/113130828