나는 보통 kill
프로세스를 종료하기 위해 명령을 사용합니다. 때로는 kill
명령만으로는 죽일 수 없는 경우도 있습니다. 그런 다음 옵션을 사용합니다 -9
. kill 명령의 매뉴얼 페이지를 확인했습니다.
$ kill -l
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
-9
이들그리고 그리고 의 차이점은 무엇인가요 -19
?
답변1
를 사용하면 kill
대개 (15)를 보냅니다 SIGTERM
. (19)는 (18)과 함께 나중에 재개될 SIGSTOP
프로세스를 "일시 중지"하는 데 사용됩니다 . (9)의 차이점은 수신 프로세스에 의해 "포착"될 수 없으며 즉시(그리고 불결한!) 종료를 초래할 수 있다는 것입니다 . "잡을 수 없는" 부분은 큰 문제입니다. 신호 처리기가 설치된 프로세스에서 "잡을 수 없는" 유일한 신호이므로 작동이 보장됩니다 .SIGCONT
SIGTERM
SIGKILL
SIGKILL
SIGKILL
SIGSTOP
제가 한 번 기술 인터뷰에서 실제로 나왔던 재미있는 수수께끼를 원하신다면 SIGSTOP
와 의 차이점 SIGTSTP
, 용도, 차이점을 찾아보세요. (이미 힌트를 주었습니다...) 이것은 *NIX 지식에 대한 멋진 작은 조각입니다.