_리눅스 실습 커리큘럼 18/40 · 프로세스와 예약 작업 (9주차)_
앞 편에서 프로세스를 보고 우선순위를 조정했습니다. 이번에는 끝냅니다. 방법은 kill PID 하나가 아니고, 무엇보다 정상 종료 요청(TERM)을 먼저 보내고 강제 종료(KILL)는 마지막에 쓰는 순서가 있습니다.
kill·pkill 프로세스 종료, 왜 필요한가
- TERM 은 프로세스가 정리하고 끝날 기회를 주고, KILL 은 즉시 끝냅니다. 순서를 지켜야 데이터가 깨지지 않습니다.
- 이름으로, 사용자로, 실행 시간으로 대상을 고르는 도구가 각각 다릅니다.
- LPIC-1·리눅스마스터 모두 시그널과 종료 명령을 다룹니다.
이번 편에서 익힐 것
- 시그널 — TERM(15), KILL(9), 존재 확인
kill -0 - 이름으로 찾기·끝내기 —
pgrep,pkill,-f - 사용자 기준 —
ps -u,pkill -u - 종료 기록 남기기
kill·pkill 프로세스 종료 핵심 명령어
kill 1234 # TERM(기본)
sleep 3
kill -0 1234 2>/dev/null && kill -9 1234 # 아직 있으면 KILL
pgrep -f long_job # 명령줄로 PID 찾기
pkill -f long_job # 같은 조건으로 종료
pgrep -u john # john 의 프로세스
ps -u john -o pid,%cpu,etime,args --sort=-%cpu | head -2 # CPU 최상위
pid=$(pgrep -o -f long_job)
kill "$pid" && echo "$pid" > /tmp/terminated.txt # 기록
pgrep 이름은 프로그램명(15자)만 봅니다.bash worker.sh로 띄운 것은pgrep -f worker.sh여야 잡힙니다.- 다른 사용자의 프로세스를 끝내려면 root 여야 합니다.
kill·pkill 프로세스 종료 자주 하는 실수
- 바로
kill -9— 정상 종료 기회를 주지 않습니다. TERM → 대기 → KILL. pkill 이름이 안 잡힘 — 프로그램명이 다를 수 있으니 먼저pgrep -f로 확인.- 기록 파일에 PID 외의 텍스트 — 지문이 "PID 한 줄"이면 숫자만.
kill·pkill 프로세스 종료 실습 문제
- 특정 사용자 소유 프로세스 확인
- 프로세스명 기준으로 프로세스 종료하기
- 장시간 실행 중인 프로세스 종료하고 기록 남기기
다음 편
다음 편은 PID 파일 관리와 TERM→KILL 폴백 입니다. 화·금요일에 이어집니다.
<!-- publish_key:linux-path-20w-p18-post -->

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.