现在位置: 首页 > Linux 教程 > 正文

Linux kill 命令

Linux 命令大全 Linux 命令大全

Linux kill 命令用于终止正在运行的进程。

kill 命令可以发送不同的信号给目标进程,来实现不同的操作,如果不指定信号,默认会发送 TERM 信号(15),即终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。

语法

kill [options] <PID>

<PID> 是要终止进程的进程 ID。

参数说明

  • -l:列出所有可用的信号。
  • -<signal>:发送特定的信号给目标进程,如 -9 表示发送 KILL 信号,即强制终止进程。

基本用法

终止进程:默认情况下,kill命令发送SIGTERM(信号15),这可以请求进程终止。如果进程没有捕获这个信号,它将被终止。

kill PID

其中 PID 是进程的 ID。

发送指定信号:通过 -s 选项可以发送指定的信号。

kill -s SIGNAL PID

例如,发送 SIGKILL(信号9)将立即结束进程,不能被忽略或捕获。

kill -9 PID

杀死进程组:使用 -9 选项可以杀死整个进程组。

kill -9 -PID

使用 kill -l 命令列出所有可用信号。

最常用的信号是:

  • SIGKILL(信号9):立即结束进程,不能被捕获或忽略。
  • SIGTERM(信号15):正常结束进程,可以被捕获或忽略。
  • SIGSTOP(信号19):暂停进程,不能被捕获、忽略或结束。
  • SIGCONT(信号18):继续执行被暂停的进程。
  • SIGINT(信号2):通常是Ctrl+C产生的信号,可以被进程捕获或忽略。

实例

终止 PID 为 1234 的进程:

kill 1234

强制终止 PID 为 1234 的进程:

kill -9 1234

向 PID 为 1234 的进程发送 SIGSTOP:

kill -s SIGSTOP 1234

显示信号

# 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

杀死指定用户所有进程:

kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
kill -u hnlinux //方法二

注意事项

  • 在使用 kill 命令时,需要具有相应的权限,否则可能无法终止进程。
  • 某些进程可能需要发送多次信号才能终止,比如一些守护进程。
  • 强制杀死进程可能会导致数据丢失或其他副作用,因此应谨慎使用。

Linux 命令大全 Linux 命令大全