Unix/Linux操作系统下,我们通常会用kill -9 <进程ID>来将正在运行的进程终止退出,kill从字面意思上理解就是杀掉进程,但实际上,kill的准确定义并不是杀掉进程,真正“杀掉”进程的其实是“-9”这个选项
来看一下man手册中的kill定义:
The command kill sends the specified signal to the specified processes or
process groups.
kill实际上是用来向进程发送某些特定信号的命令,“-9”就是其中一个选项,意思是终止进程的信号,“kill -9 <PID>”就是通过向PID代表的进程发送终止信号来使该进程终止退出。
其他的选项还有:
- -1:挂起
- -2:终端
- -3:结束运行
- -9:无条件终止
但是在实际情况下,我们一般能记住的往往并不是进程ID,而是进程名Linux提供了另外两种方法可以根据进程名来终止进程的运行
1.killall命令:
killall命令可以直接根据命令行提供的进程名参数终止进程,其中-z选项还可以支持用正则表达式规则进行模糊匹配
2.pidof命令:
使用pidof <进程名>命令可以获取进程名对应的进程ID,可以使用
pid=$(pidof <process_name>)
获取进程名对应的进程ID,再通过
kill -9 $pid
让进程终止运行
网友评论