[Linux] 프로세스 제어 실습

mommers·2026년 1월 31일

Linux

목록 보기
15/59


프로세스 제어 (kill, pkill, killall)

  • 학습: 시그널(9:강제종료, 15:정상종료) 차이.
  • 실습:
    • sleep 1000 명령어로 멍 때리는 프로세스 백그라운드 실행.
    • pid를 찾아 kill -9 [PID]로 죽이기.
    • 이름으로 죽이기(pkill sleep) 실습.

명령어: kill -l

터미널에 kill -l (소문자 L)을 입력하면 시스템에서 지원하는 모든 시그널(1번~64번)의 번호와 이름을 쫙 보여줌.

1. 필수 개념 5가지!

64개가 나오지만, 실무에서는 아래 5개만 알면 됨.

번호이름키(Key)설명특징
2SIGINTCtrl + C인터럽트 (Interrupt)실행 중단 요청. 프로그램이 거부(무시) 가능.
9SIGKILL-강제 종료 (Kill)즉사. 프로그램이 거부할 수 없음. 뒷정리(파일 저장 등) 못 하고 죽음.
11SIGSEGV-세그폴트 (Segfault)메모리 침범. 포인터 잘못 썼을 때 OS가 강제로 죽임.
15SIGTERMkill [PID]종료 요청 (Terminate)기본값. "제발 꺼져줄래?"라고 정중하게 요청. 프로그램이 뒷정리하고 스스로 죽음.
19SIGSTOPCtrl + Z일시 정지 (Stop)프로세스를 메모리에 둔 채 멈춤(Pause). fg로 재개 가능.

2. 상세 스펙 확인법

각 시그널이 정확히 어떤 동작을 하는지(기본 액션이 종료인지, 코어 덤프인지 등) 보고 싶다면 매뉴얼 페이지를 봐야 함.

man 7 signal
  • 리눅스 표준 시그널 설명서가 나옴.

  • 죽일 때 순서: 무조건 kill -9부터 날리지 말 것.
    1. kill -15 [PID] (먼저 정중하게 종료 요청)
    2. 안 죽으면 kill -2 [PID] (Ctrl+C 효과)
    3. 그래도 안 죽으면 kill -9 [PID] (최후의 수단)
profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글