前言
在我们通常使用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 |
|
|