'-9'는 명령을 죽이는 플래그입니까?


14

무엇을 -9합니까?

구문에는 나타나지 않습니다.

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

10
-9의 인스턴스이며 or 또는 or -sigspec와 같습니다 . -s 9-n 9-s KILL-KILL
Gilles 'SO- 악의를 멈춰라'

답변:


21

-9는 신호 번호 (이 경우 SIGKILL)이므로 문제의 프로세스 kill -9로 a SIGKILL를 보냅니다 .

이 신호는 프로세스가 커널 함수에서 대기하지 않는 한 즉시 종료되도록합니다. 신호를 수신 한 후 신호를 무시하거나 수신 프로세스가 정리 작업을 수행 할 수 없습니다 (즉, 신호 처리기 SIGKILL가 호출되지 않음). SIGKILLWikipedia 기사를 참조하십시오 .

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.

EDIT : 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

1
데비안 kill -l에서는 숫자 값도 표시됩니다. 당신의 OS는 무엇입니까?
Faheem Mitha 2018 년

흥미롭게도 우분투 (데비안 기반의 아는 것)를 실행하고 있습니다. 반면에, 일부 신호의 man kill숫자 값 이 목록에 있음을 알았습니다 .
Andre Holzner 2018 년

글쎄, kill는 데비안 스퀴즈 procps버전 1:3.2.8-9입니다. 그리고 우분투는 기본적으로 데비안입니다. 그래서 왜 kill -l같은 것을 반환하지 않는지 궁금 합니다.
Faheem Mitha 2016 년

1
내가 (내가 말한대로 실제로 숫자 값을 나열 하지 않음) zsh내장 kill명령을 실행하고 있음이 밝혀졌습니다./bin/kill
Andre Holzner

5
@FaheemMitha 쉘에 kill내장이 필요한 이유는 두 가지 입니다. kill명령이 작업 번호 또는 이름 (예 :)을 승인 할 수 있습니다 kill %1. 또한 kill일부 프로세스 카운트 한계에 도달 한 경우에도 사용할 수 있습니다.
질 'SO-정지 존재 악마'

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.