发送指定的信号到相应进程,不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
说明:
只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
结合我们上一章讲的ps来测试命令
ps -ef |grep java
通过此命令查询出进程的情况。我们可以看到我们在后台启动了2个java应用服务。
现在我们来使用kill命令结束第一个进程:(语法:kill 进程ID)
kill 7480
ps -ef |grep java
我们在查询进程是,发现进程ID为7480的已经被结束掉了,进程中已经查询不到他了。
根据上面的学习内容,我们可以在结束进程的时候加入参数,例如kill -9,强制结束某个进程内容。
kill -9 7544
ps -ef |grep java
我们在查询进程是,发现进程ID为7544的已经被结束掉了,进程中已经查询不到他了。
如果你比较懒,并且这个服务器上有且仅部署了一台服务,或者部署的服务同为一类,
我们可以不必查询出所哟进程的ID去停止掉,这里我们可以使用killall来结束所有服务(不建议使用)
下面我们来模拟删除掉系统中运行的nginx服务。(注意:在centos7版本下,默认并没有安装killall命令,需要安装,执行yum install psmisc)
killall nginx