“-9”是杀死命令的标志吗?

“-9”是杀死命令的标志吗?

有什么-9作用?

它不会出现在语法中:

$ kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
$

答案1

-9是信号号(在本例中为SIGKILL),因此kill -9将 a 发送SIGKILL到相关进程。

该信号导致进程立即终止(除非它在内核函数中等待)。该信号既不能被忽略,接收进程也不能在接收到该信号后执行任何清理操作(即SIGKILL不调用 的信号处理程序)。另请参阅维基百科关于 SIGKILL 的文章

从我的命令的手册页kill(Linux):

   The  default  signal  for  kill is TERM. Use -l or -L to list available
   signals.  Particularly useful signals include  HUP,  INT,  KILL,  STOP,
   CONT,  and  0.   Alternate  signals  may be specified in three ways: -9
   -SIGKILL -KILL.

编辑:( 内置kill -l命令bash)列出了我的系统上的以下信号名称和数值:

 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

答案2

man signal

将向您展示信号编号和信号名称之间的映射。

相关内容