[Linux] Signal

반응형

이번 글에서는 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

댓글

Designed by JB FACTORY