在我們通常使用linux操作系統的時候,經常會有這樣的需求——殺死一個進程,比如說你一不小心啟動瞭一個後臺進程或者守護進程,而這個進程是你不需要的,因此你久想殺掉他,在本篇文章當中主要給大傢介紹一些殺死進程的方法,以及這隱藏在這後面的原理。
在我們殺死一個進程的時候最好不要使用管理員權限,因為你可能會一不小心殺死系統當中一些很重要的進程。同時需要瞭解,在linux當中有很多與權限相關的操作,如果你隻是一個普通的用戶,那麼你就隻能殺死你自己的進程,不能夠殺死別的用戶的進程。但是root用戶或者你有sudo權限,那麼你就可以為所欲為瞭 。
殺死進程的基本原理:我們使用命令去殺死進程,本質上是通過一個進程(比如說kill命令的那個進程)給另外一個進程發送信號,當進程接收到信號的時候就會進行判斷是哪個信號,然後根據不同的信號做出相應的行為。
信號前面表示代表不同信號的數值,比如說我們執行命令 kill -9 1234
就是將 9 這個值對應的信號 SIGKILL 發送給進程號等於 1234 的進程,在linux操作系統當中,常見的信號如下所示:
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
下一篇
知乎大學校訓可參考:抗大校訓“團結、緊張、嚴肅、活潑”,我們用《孫子兵法》思想來解讀一下。作者/劉文新(sunzibingdao)學...