[linux] kill 커맨드로 프로세스 강제로 종료하기
리눅스에서 kill
명령어는 프로세스를 강제로 종료하거나 종료 시그널을 보내는 데 사용합니다. kill
명령어는 프로세스 ID(PID)를 통해 특정 프로세스를 종료합니다.
kill
명령어의 기본 사용법은 다음과 같습니다.
kill [옵션] [PID]
예를 들어 프로세스 ID가 3124면 다음처럼 커맨드를 사용합니다.
kill 3124
kill 프로세스를 실행할 때 사용 가능한 옵션은 다음 두 가지 입니다.
-<signal>
: 특정 시그널을 보냅니다. 예를 들어,-9
옵션은 SIGKILL 시그널을 보내 프로세스를 강제 종료하는 것을 말합니다. 강제 종료 시그널 옵션을 표시하지 않으면 기본적 값인 SIGTERM 시그널이 보내집니다. SIGTERM은 프로세스에 종료를 요청하는 시그널입니다. 즉, 프로세스에게 프로세스를 종료해달라는 시그널을 보내고 kill 커맨드는 종료합니다.-l
:kill -l
명령어로 보내는 시그널의 값과 정수 값을 목록으로 확인할 수 있습니다.
시그널의 종류는 다음과 같습니다. 종류를 모두 알 필요는 없고, 대부분의 경우 9번인 SIGKILL을 사용합니다. 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
kill -9 3124
위 명령은 PID가 3124인 프로세스에 SIGKILL 시그널을 보내 강제 종료합니다. 프로세스가 먹통에 빠졌거나, kill 커맨드만으로 프로세스가 종료되지 않을 때 사용합니다.
모든 프로세스의 상세 목록을 출력하려면 다음 커맨드로 확인할 수 있습니다.
ps -aux
시그널을 보내는 방법은 앞서 소개한 것처럼 -<signal>
처럼 시그널 타입을 정수로 표시해서 시그널을 보내는 방법외에 다음처럼 -s
옵션으로 시그널 이름을 사용하는 방식도 있습니다.
kill -s SIGKILL 3124