linux命令之kill结束进程

kill

kill 用于结束执行中的程序。

kill 可发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响所有用户的进程,非root用户只能影响自己的进程。

语法

kill [参数] [进程号]

参数说明

  • -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

  • -a 当处理当前进程时,不限制命令名和进程号的对应关系

  • -p 指定 kill 命令只打印相关进程的进程号,而不发送任何信号

  • -s 指定发送信号

  • -u 指定用户

使用 kill -l 命令列出所有可用信号。最常用的信号:

  • 1 (HUP):重新加载进程
  • 9 (KILL):杀死一个进程
  • 15 (TERM):正常停止一个进程

实例

杀死进程

kill 6780

强制杀死进程

kill -KILL 6780

发送SIGHUP信号,可以使用一下信号

kill -HUP pid

彻底杀死进程

kill -9 6780

显示信号

kill -l

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。常用的信号:

信号 信号的数值 说明
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)

杀死指定用户所有进程

kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
kill -u hnlinux                  //方法二
posted @ 2022-02-13 13:20  BUG弄潮儿  阅读(1899)  评论(0编辑  收藏  举报