kill 命令通常用來 “殺死”(終止)進程,它可以用來終止運行不正常的程序或者反過來拒絕終止的程序。kill 命令准確地說並不是 “殺死” 進程,而是給進程發送信號(signal)。
和文件一樣,進程也有所有者,只有進程的所有者(或超級用戶)才能使用 kill 命令來向它發送信號。
命令格式
kill [-s signal|-p] [--] pid...
kill -l [signal]
命令參數
-s signal
指定發送的信號。
-l
打印信號的名稱列表。
常用信號
信號編號 | 信號名 | 含義 |
1 | HUP | 掛起信號 |
2 | INT | 中斷信號 |
3 | QUIT | 退出信號 |
9 | KILL | 殺死信號 |
11 | SEGV | 段錯誤信號 |
15 | TERM | 終止信號,kill命令默認發送的信號類型 |
18 | CONT | 繼續運行信號,恢復之前接受了STOP信號的進程 |
19 | STOP | 暫停信號 |
實例
a) 查看所有信號名稱及對應的編號。
[huey@huey-K42JE ~]$ 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
b) 暫停 PID 為 57573 的進程。
[huey@huey-K42JE ~]$ ping example.com > /dev/null & [1] 57573 [huey@huey-K42JE ~]$ jobs -l [1]+ 57573 Running ping example.com > /dev/null & [huey@huey-K42JE ~]$ kill -STOP 57573 [1]+ Stopped ping example.com > /dev/null [huey@huey-K42JE ~]$ jobs -l [1]+ 57573 Stopped (signal) ping example.com > /dev/null
c) 終止 PID 為 57622 的進程。
[huey@huey-K42JE ~]$ ping example.com > /dev/null & [1] 57622 [huey@huey-K42JE ~]$ jobs -l [1]+ 57622 Running ping example.com > /dev/null & [huey@huey-K42JE ~]$ kill 57622 [huey@huey-K42JE ~]$ jobs -l [1]+ 57622 Terminated ping example.com > /dev/null
相關命令