
리눅스에서 프로세스를 다룰 줄 아는 건 운영/개발 모두에게 필수 스킬이다.
서버가 느려졌을 때, 특정 프로그램이 멈췄을 때, 예상치 못한 상황을 처리하려면 프로세스 조회 → 종료 → 디버깅까지 이어지는 기본 명령어를 잘 다뤄야 한다.
이번 글에서는 프로세스 관리의 대표 명령어인 ps, kill, 그리고 signal까지
풀네임 설명과 함께 실습 위주로 정리해본다.
ps – 프로세스 상태 보기 (Process Status)
ps [옵션]
ps는 현재 실행 중인 프로세스 목록을 출력해주는 명령어다.
자주 쓰는 옵션 정리
| 옵션 | 풀네임 의미 | 설명 |
|---|---|---|
-e 또는 -A |
every process / All | 시스템 전체 프로세스 |
-f |
full | 상세 정보 보기 |
-u |
[user] user | 해당 사용자의 프로세스만 |
-x |
eXternal | 터미널 없는 프로세스도 포함 |
-o |
output format | 원하는 항목만 출력 |
예시
ps -ef
→ 전체 프로세스를 풀 포맷으로 출력
ps aux
→ BSD 스타일, CPU/메모리 사용률 포함
ps -u ubuntu
→ ubuntu 사용자의 프로세스만 출력
ps -eo pid,comm,%cpu,%mem --sort=-%cpu
→ CPU 사용률 기준 정렬 (가장 많이 쓰는 프로세스 확인)
kill – 프로세스 종료 또는 시그널 보내기
kill [옵션] PID
kill은 단순히 프로세스를 죽이는 명령이 아니다.
사실은 프로세스에게 "시그널(Signal)"을 보내는 명령어다.
기본 사용 예
kill 1234 # 기본은 SIGTERM (15)
kill -9 1234 # SIGKILL - 강제 종료
kill -SIGSTOP 1234 # 프로세스 일시 정지
kill은kill -SIGNAL PID또는kill -번호 PID두 가지 방식으로 사용 가능
주요 시그널
| 시그널 | 번호 | 설명 |
|---|---|---|
SIGHUP |
1 | 터미널 종료 감지, 데몬 재시작에 사용 |
SIGINT |
2 | 인터럽트 Ctrl + C |
SIGQUIT |
3 | 종료 + core dump (Ctrl + ) |
SIGKILL |
9 | 강제 종료 (무시 불가) |
SIGTERM |
15 | 정상 종료 요청 (기본 종료) |
SIGSTOP |
19 | 프로세스 정지 (Ctrl + Z와 유사) |
SIGCONT |
18 | 정지된 프로세스 재개 |
kill -l
→ 시스템에서 지원하는 전체 시그널 목록 확인 가능
top – 실시간 프로세스 모니터링
top은 실시간으로 시스템 리소스를 모니터링할 수 있는 명령어로,
CPU, 메모리 사용률, 실행 시간, 프로세스 우선순위 등을 한눈에 볼 수 있다.
top
top 주요 단축키
| 단축키 | 설명 |
|---|---|
| P | CPU 사용률 기준 정렬 |
| M | 메모리 사용률 기준 정렬 |
| k | 프로세스 종료 (PID 입력 + Enter) |
| r | 프로세스 우선순위(nice 값) 변경 |
| u | 특정 사용자 필터 |
| q | 종료 |
k 키를 눌러도 내부적으로
kill명령을 수행하며, 기본은SIGTERM, 필요 시 9 입력으로SIGKILL
기본 화면 구성
- 🔸 첫 줄: 시스템 전체 상태 (uptime, load average)
- 🔸 중간: CPU/메모리 사용량
- 🔸 아래: 프로세스 목록 (PID, USER, %CPU, %MEM 등)
마무리
ps와kill만으로도 프로세스를 확인하고 제어하는 기본적인 능력을 갖출 수 있다.
여기에 시그널을 잘 조합하면 정지-재개-종료-리로드까지 세밀한 제어가 가능하다.
실무에서는kill -9만 남발하지 말고,SIGTERM→SIGKILL순서로 점진적으로 시도하는 게 좋다.
'linux' 카테고리의 다른 글
| [리눅스 inode] ln 명령어 하드링크 vs 심볼릭링크 (0) | 2025.05.29 |
|---|---|
| [리눅스 디스크 관리] linux disk 파티션, mount (1) | 2025.05.28 |
| [리눅스 명령어] linux tar 명령어 – 압축 및 해제 (0) | 2025.05.28 |
| [리눅스 권한 명령어 정리] chmod, chown, umask (0) | 2025.05.27 |
| [리눅스 유저 & 그룹 관리] useradd, usermod, passwd, groupadd (0) | 2025.05.26 |