안녕하세요.
이번 포스팅에서는 리눅스의 프로세스 명령어인 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 시그널을 통해 프로세스를 종료하게 됩니다.
'Computer System > Linux' 카테고리의 다른 글
[Linux] /etc/skel : 리눅스 사용자 생성 시 홈 디렉토리 구조 설정 (0) | 2020.08.19 |
---|---|
[Linux] 리눅스 시스템 로그 파일 정리 (/var/log/messages, secure, maillog, cron, boot.log 등) (0) | 2020.08.12 |
[Linux] 리눅스 계정 관련 파일 : /etc/passwd, /etc/shadow (0) | 2020.08.06 |
[Linux] rpm 명령어 주요 옵션 정리 (0) | 2020.08.04 |
[Linux] 리눅스 쉘 예약 변수 (Reserved Variables, 예약 환경 변수) (0) | 2020.06.16 |