Contents
see ListLinux 프로세스 관리 - ps, top, htop
Linux에서 실행 중인 프로세스를 확인하고 관리하는 명령어들입니다.
주요 명령어
ps aux | grep java # java 프로세스 찾기
top -p PID # 특정 PID 모니터링
kill -9 PID # 프로세스 강제 종료ps 명령어
# 모든 프로세스 자세히 보기
ps aux
# 특정 프로세스 찾기
ps aux | grep java
ps aux | grep tomcat
# 프로세스 트리로 보기
ps auxf
# 특정 사용자 프로세스
ps -u username
# PID로 프로세스 정보
ps -p 1234
# 메모리 많이 사용하는 프로세스
ps aux --sort=-%mem | head -10
# CPU 많이 사용하는 프로세스
ps aux --sort=-%cpu | head -10top 명령어
# 실시간 모니터링
top
# 특정 PID 모니터링
top -p 1234
# 특정 사용자 프로세스만
top -u username
# 배치 모드 (스크립트용)
top -b -n 1
# 단축키 (top 실행 중)
# q: 종료
# k: 프로세스 종료 (PID 입력)
# M: 메모리 순 정렬
# P: CPU 순 정렬
# 1: CPU 코어별 사용량
# c: 전체 명령어 표시htop (향상된 top)
# 설치
yum install htop # CentOS/RHEL
apt install htop # Ubuntu/Debian
# 실행
htop
# 단축키
# F2: 설정
# F3: 검색
# F4: 필터
# F5: 트리 보기
# F9: 프로세스 종료
# F10: 종료kill 명령어
# 정상 종료 요청
kill PID
kill -15 PID # SIGTERM (기본값)
# 강제 종료
kill -9 PID # SIGKILL
# 프로세스 이름으로 종료
pkill java
pkill -9 tomcat
# 패턴으로 종료
pkill -f "java.*myapp"
# 모든 자식 프로세스 포함 종료
kill -9 -PID시그널 종류
| SIGTERM (15) | 정상 종료 요청 |
| SIGKILL (9) | 강제 종료 |
| SIGHUP (1) | 재시작 |
| SIGSTOP (19) | 일시 정지 |
| SIGCONT (18) | 재개 |
실용적인 활용
# 좀비 프로세스 찾기
ps aux | grep Z
# 포트 사용 프로세스 찾기
lsof -i :8080
netstat -tulnp | grep 8080
# 프로세스 메모리 확인
pmap -x PID
# 프로세스 열린 파일 확인
lsof -p PID
# 백그라운드 실행
nohup java -jar app.jar &
# 프로세스 개수 확인
ps aux | grep java | wc -l자주 사용하는 조합
# Java 프로세스 확인 후 종료
ps aux | grep java
kill -9
# 특정 포트 사용 프로세스 종료
kill -9