
리눅스에서 Kill 명령어와 시그널 이해하기 - Linux Master 2급 기출문제 해설
안녕하세요! 이번에는 2023년 9월 Linux Master 2급 2차 필기 기출 문제를 풀어보겠습니다. 이번 문제는 Kill 명령어와 시그널에 대한 내용입니다. 단순 암기보다는 실습을 통해 확실하게 이해하는 것이 중요합니다.
문제: Kill 명령어 실행 시 기본 시그널과 번호의 조합은?
Kill 명령어를 실행할 때 전달되는 기본 시그널의 명칭과 번호를 묻는 문제입니다. 보통 kill -9
명령을 많이 사용하지만, 실제로는 SIGTERM (15번)
이 Kill 명령어의 기본값입니다.
시그널 이해하기
리눅스에서 프로세스를 종료할 때는 시그널을 이용합니다. 주요 시그널을 살펴보겠습니다.
-
SIGTERM (15번): 정상 종료 시그널 (Kill 명령어 기본값)
-
SIGKILL (9번): 강제 종료 시그널 (자원 해제 없이 즉시 종료)
-
SIGSTOP (19번): 프로세스 일시 정지
-
SIGCONT (18번): 일시 정지된 프로세스 재개
이 중에서 **SIGTERM (15번)**이 기본값이라는 점이 핵심 포인트입니다.
실습 환경 설정
실습을 위해 **리얼리눅스(RealLinux)**를 활용하면 클라우드 환경에서 무료로 실습할 수 있습니다. Rocky Linux 8을 기준으로 실습을 진행하겠습니다.
-
리눅스 터미널 실행
-
두 개의 터미널 창 준비 (한 곳에서 프로세스를 실행하고, 다른 곳에서 Kill 명령어를 사용)
-
프로세스 목록 확인 및 종료 실습
Kill 명령어 실습
1. 현재 실행 중인 프로세스 확인
ps -ef | grep htop
2. 특정 프로세스 종료하기
kill -15 [PID] # 정상 종료 (SIGTERM)
kill -9 [PID] # 강제 종료 (SIGKILL)
-
kill -15 [PID]
를 실행하면 정상 종료가 이루어집니다. -
kill -9 [PID]
를 실행하면 강제 종료가 이루어지며, 터미널에 프로세스 흔적이 남을 수 있습니다.
3. 기본 시그널 확인
kill -L # 모든 시그널 목록 출력
기본 시그널은 SIGTERM (15번)
이므로, 문제가 묻는 기본값은 15번입니다.
강제 종료와 정상 종료의 차이
-
정상 종료 (SIGTERM): 리눅스가 프로세스의 자원을 해제한 후 종료
-
강제 종료 (SIGKILL): 즉시 종료, 자원 해제 없이 프로세스 중단 (가능하면 사용 지양)
따라서, 프로세스를 종료할 때는 먼저 SIGTERM(15번)을 사용하고, 필요할 경우 SIGKILL(9번)을 사용하는 것이 좋습니다.
문제 정답 및 풀이
문제에서 기본 시그널을 묻고 있으므로, 정답은 4번 (SIGTERM, 15번) 입니다.
이번 실습을 통해 Kill 명령어와 시그널의 차이를 명확히 이해하셨을 것입니다. 기출문제 풀이를 단순 암기하지 않고, 실습을 통해 학습하면 실무에서도 큰 도움이 됩니다.