Computer System/Linux

[Linux] 리눅스 프로세스 종료 명령어 : kill, killall

해리팍 2020. 8. 10. 12:51
반응형

안녕하세요.

이번 포스팅에서는 리눅스의 프로세스 명령어인 kill 과 killall 에 대해 알아보도록 하겠습니다.

두 명령어 모두 프로세스를 종료시키는 명령어인데,

kill 명령어는 프로세스 아이디 (PID) 를 사용해 종료 시키고,

killall 명령어는 프로세스 이름을 사용해 종료 시키는 차이점이 있습니다.

상세 내용은 다음과 같습니다.


1. kill

주요 옵션에는 -s 옵션이 있습니다.

-s 옵션은 프로세스 종료를 위한 시그널을 지정하는 옵션 입니다.

옵션 지정이 되어있지 않은 경우 SIGTERM 시그널을 사용 합니다.

사용 가능한 시그널은 다음과 같습니다.

사용 할 수 있는 시그널 및 시그널 번호는

kill -l

명령어를 통해 확인 가능 합니다.

- SIGHUP (1) : 로그아웃 등의 접속을 끊을 때 발생 하는 시그널 입니다. 실행 중인 프로세스가 이용하는 config 파일을 변경 후 갱신할 때 발생 되기도 합니다.

- SIGINT (2) : 현재 실행 중인 프로세스의 동작을 멈출 때 사용 합니다.

- SIGQUIT (3) : 터미널에서 Ctrl C 를 입력할 때 발생하는 시그널 입니다. 비정상 종료에 해당 됩니다.

- SIGKILL (9) : 무조건 해당 프로세스를 중단 시킵니다.

- SGTERM (15) : 실행 중인 프로세스를 정상 종료 시킵니다.

- SIGSEGV (11) : 메모리 액세스가 잘못 될 경우 발생 됩니다.


2. killall

killall은 프로세스의 이름을 이용해 해당 프로세스를 종료 시킵니다.

기본적으론 SIGTERM 시그널을 통해 프로세스를 종료하게 됩니다.

반응형