내 매뉴얼 페이지에 차이점이 문서화되어 있지 않습니다
kill <pid>
과
kill -9 <pid>
이것들이 다른 일을하기 때문에 왜 kill
맨 페이지 에 -9가 문서화되어 있지 않습니까? 나는 그것이 쉘 특정 일이라고 생각했기 때문에 bash 맨 페이지에서도 보았지만 운은 없었습니다.
보너스 질문 : -9는 무엇을합니까?
내 매뉴얼 페이지에 차이점이 문서화되어 있지 않습니다
kill <pid>
과
kill -9 <pid>
이것들이 다른 일을하기 때문에 왜 kill
맨 페이지 에 -9가 문서화되어 있지 않습니까? 나는 그것이 쉘 특정 일이라고 생각했기 때문에 bash 맨 페이지에서도 보았지만 운은 없었습니다.
보너스 질문 : -9는 무엇을합니까?
답변:
kill
주어진 프로세스에 신호를 보냅니다. 는 -9
보낼 신호를 알려줍니다.
다른 숫자는 다른 공통 신호에 해당합니다. SIGINT
예를 들어, 2이므로 프로세스에 SIGINT
신호 를 보내 려면 명령을 발행하십시오.
$ kill -2 <pid>
여기서 맨 페이지는 다음을 지정합니다.
kill의 기본 신호는 TERM입니다.
맨 페이지는 또한 보낼 수있는 신호 표를 제공합니다. 이 테이블에 따르면 TERM
is 15
이므로 모두 동일합니다.
kill <pid>
kill -15 <pid>
kill -TERM <pid>
통지 9가 KILL
신호입니다.
Name Number Action
-----------------------
ALRM 14 exit
HUP 1 exit
INT 2 exit
KILL 9 exit this signal may not be blocked
PIPE 13 exit
POLL exit
PROF exit
TERM 15 exit [Default]
USR1 exit
USR2 exit
VTALRM exit
STKFLT exit may not be implemented
PWR ignore may exit on some systems
WINCH ignore
CHLD ignore
URG ignore
TSTP stop may interact with the shell
TTIN stop may interact with the shell
TTOU stop may interact with the shell
STOP stop this signal may not be blocked
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
SYS core may not be implemented
EMT core may not be implemented
BUS core core dump may fail
XCPU core core dump may fail
XFSZ core core dump may fail
KILL
및 STOP
신호가 비 잡을 신호를 소위. 즉, TERM
신호가 프로세스로 전송 되면 신호를 포착하여 수행해야하는 다양한 "종료"작업을 수행 할 수 있습니다. KILL
신호는 즉시 처리를 정지한다.
man 7 signal
기본 신호는 TERM입니다. 종료되는 프로그램이이를 포착하여 종료하기 전에 정리할 수 있습니다. 프로그램이 그렇게 작성되면 무시해도됩니다.
신호로 -9 또는 KILL을 지정하면 프로그램이이를 포착, 정리 또는 무시할 수 없습니다. 최후의 수단으로 만 사용해야합니다.
Bash에서 숫자 및 신호 이름 목록을 보려면 kill -l
(letter ell)을 사용하십시오.
우분투 리눅스를 사용하고 있습니다.
강제 종료 명령은 기본적으로 신호를 보내 처리합니다. 일상적인 컴퓨팅 킬 명령에 대한 복잡한 행동 기대를 단순화하기 위해 다양한 옵션이 있습니다.
위에서 설명한대로 그 정의에 해당하는 모든 킬 번호 옵션이 있습니다.
몇 줄을 추가하고 싶습니다.
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
위에서 보았 듯이 Ubuntu Linux를 실행하면 얻을 수있는 모든 킬 옵션이 있습니다.
그러나 특정 킬 신호는 모든 * NIX 플레이버에서 공통입니다.
kill -9는 SIGKILL 옵션이며 커널은이 신호를 무시할 수 없습니다. 즉,이 -9 또는 SIGKILL 옵션을 준수하고 프로세스를 즉시 종료합니다. 이 프로세스는 응용 프로그램에서 처리 할 수 없음을 기억하십시오.
반면에 kill -15는 SIGTERM 신호를 보내므로 프로세스가 종료되기 전에 완전히 종료 될 때까지 기다립니다. 이것이 기본 신호입니다.
kill <pid>
)는 TERM입니다.