Linux 精通Linux的“kill”命令
- 概述
- Kill命令和信號
- PKill
- Killall
- xkill
概述
無論你使用哪種操作系統,你一定會遇到某個行為失常的應用,它把自己鎖死并拒絕關閉。在Linux(還有Mac),你可以用一個”kill”命令強制終結它。本篇博文中,我們將展示給你多種方式使用”kill”命令終結應用。
Kill命令和信號
[xgj@entel2 ~]$ kill kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]可以清晰的看到 -n 指的是 信號編號[xgj@entel2 ~]$ kill -l ---> 查看Linux/Unix的信號變量1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) 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”命令,你實際上發送了一個信號給系統,讓它去終結不正常的應用。總共有64個你可以使用的信號,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。
區別:
SIGTERM(15) - 此信號請求一個進程停止運行。此信號是可以被忽略的。進程可以用一段時間來正常關閉,一個程序的正常關閉一般需要一段時間來保存進度并釋放資源。換句話說,它不是強制停止。
SIGKILL(9) - 此信號強制進程立刻停止運行。程序不能忽略此信號,而未保存的進度將會丟失
使用”kill”的語法是:
kill [信號或選項] PID(s)默認信號(當沒有指定的時候)是SIGTERM。當它不起作用時,你可以使用下面的命令來強制kill掉一個進程:
kill SIGKILL PID或者
kill -9 PID這里”-9”代表著SIGKILL信號。
如果你不知道應用的PID,僅需要運行這個命令:
ps ux它會顯示所有正在運行的應用還有應用的PID。
例如,要kill掉**Agent,我會運行命令:
kill -9 31921也可以在同一時間kill多個進程。
kill -9 PID1 PID2 PID3PKill
”pkill”命令允許使用擴展的正則表達式和其它匹配方式。
你現在可以使用應用的進程名kill掉它們,而不是使用PID。例如,要kill掉xgjAgent,只需要運行命令:
pkill xgjAgent使用正則表達式匹配的話,你可以輸入進程名的部分字符,比如:
pkill xgj為了避免kill掉錯誤的進程,你應該用一下”pgrep -l [進程名]“列表來匹配進程名稱。
Killall
killall同樣使用進程名替代PID,并且它會kill掉所有的同名進程。例如,如果你正在運行多個xgjAgent的實例,可以用命令把它們全部kill掉:
killall xgjAgentxkill
xkill 是圖形方式kill一個應用。當你在終端鍵入”xkill”,你的光標將立刻變成一個”十字”。你只需要做的是在不正常的應用上點擊一下,它就會立刻kill掉這個應用。
總結
以上是生活随笔為你收集整理的Linux 精通Linux的“kill”命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 让进程在后台可靠运行的几种方
- 下一篇: Linux 在 linux 中搭建 FT