[Linux] Signal
- Linux
- 2021. 3. 30.
이번 글에서는 Linux 에서 Signal 을 사용해 Process 를 Control 하는 방법에 대해 알아보겠습니다.
명령어 요약
# show all signal list
kill -l
# kill process
kill -9 [PID]
1. Signal
signal 이란 linux 에서 process 를 control 할 수 있는 신호를 의미합니다.
signal 를 사용하면 특정 event 가 발생했을 때 관련된 process 들에게 어떠한 행동을 하도록 만든다던지..
혹은 강제로 해당 process 를 멈추게 한다던지 등의 process control 을 수행할 수 있습니다.
singal 에는 많은 종류가 있는데. 전체 signal 목록을 확인하기 위해선 다음과 같이 입력합니다.
kill -l
결과로 다음과 같이 무수히 많은 signal 목록을 확인할 수 있습니다.
하지만 위 signal 목록 중 소수의 몇가지만 일반적으로 사용되기 때문에. 굳이 모든 내용을 외울 필요는 없습니다.
가장 많이 사용되는 4가지 singal 만 간단히 살펴보겠습니다.
1-1) SIGHUP (1)
SIGHUP 은 HangUP 의 약자로 로그아웃과 같이 터미널에서 접속이 끊겼을 때 보내지는 시그널입니다.
데몬 관련 환결 설정 파일을 변경시키고 변화된 내용을 적용하기 위해 재시작 할 때 사용됩니다.
1-2) SIGINT (2)
SIGINT 는 키보드로부터 입력받는 Interupt 시그널로 실행을 중지합니다.
일반적으로 CTRL + C 입력시 보내지는 시그널입니다.
1-3) SIGKILL (9)
SIGKILL 은 process 를 강제로 종료시키는 시그널 입니다.
SIGKILL 을 사용하면 모든 process 는 강제로 종료되게 됩니다.
1-4) SIGTERM (15)
SIGTERM 은 terminate 의 약자로 가능하다면 정상 종료 시키는 시그널이며, kill 명령어의 기본 시그널 입니다.
SIGTERM 명령을 입력받은 process 는 상황에 따라서 종료될 수도 아닐 수도 있습니다.
만약, SIGTERM 으로 종료되지 않은 process 는 SIGKILL 을 사용해 강제로 종료할 수 있습니다.
자세한 SIGNAL 설명은 이 글을 참고하시길 바랍니다.
'Linux' 카테고리의 다른 글
[Linux] Job Scheduling (Crontab) (0) | 2021.04.03 |
---|---|
[Linux] Job Scheduling (At) (0) | 2021.03.31 |
[Linux] Nice & Renice (0) | 2021.03.29 |
[Linux] Process States (0) | 2021.03.28 |
[Linux] Ping (0) | 2021.03.27 |