728x90
리눅스 프로세스 관리
1. 프로세스의 이해
프로세스
- 현재 메모리 위에서 동작하는 프로그램 => 프로그램마다 프로세스 ID (PID) 부여
- 동작 중인 프로세스는 ps 명령어로 확인 가능
- 프로세스는 강제 종료 (kill) 가능
- 프로세스를 강제종료 할 수 있는 권한은 root랑 프로세스 소유자만 가능
프로세스 명령어
프로세스 목록보기 (ps)
현재 실행중인 프로세스 목록
ps 옵션
- -e : 시스템에서 실행중인 모든 프로세스의 정보를 출력
- -f : 프로세스의 자세한 정보 출력
- -u(uid) : 특정 사용자에 대한 모든 프로세스 정보를 출력
- -p(pid) : pid로 지정한 특정 프로세스의 정보를 출력
- -ef : 실행중인 모든 프로세스의 자세한 정보 출력
항목 | 의미 | 항목 | 의미 |
UID | 프로세스를 실행한 사용자 ID | STIME | 프로세스의 시작 날짜나 시간 |
PID | 프로세스 번호 | TTY | 프로세스가 실행된 터미널의 종류와 번호 |
PPID | 부모 프로세스 번호 | TIME | 프로세스 실행 시간 |
C | CPU 사용량 (%) | CMD | 실행되고 있는 프로그램 이름(명령) |
프로세스 목록보기 (pgrep)
특정 프로세스 목록 검색
pgrep 옵션 패턴
- -x : 패턴과 정확히 일치하는 프로세스 출력
- -n : 패턴을 포함하고 있는 가장 최근 프로세스의 정보를 출력
- -u(user) : 특정 사용자에 대한 모든 프로세스 출력
프로세스 목록보기 (top)
현재 시스템의 상태에 대한 요약 정보 및 통계 제공 (CPU 사용량, 메모리, UID 등과 같은 다양한 기준에 따라 정렬 가능)
- P : CPU 점유율 단위
- M : memory 점유율 단위
- ESC : 취소
- q : 종료
- k -> pid -> [프로세스] KILL
top 옵션
- -d (delay-time) : 주어진 시간의 interval을 가짐
- -b (batch-mode) : batch mode 지원
- -n (number) : batch mode 실행 시 반복 실행 횟수
프로세스 시그널
프로세스 종류
- background : command &
- foreground : command
시그널
동작 중인 프로세스에게 전달하는 특정 메시지
- foreground process에게 시그널 전달
- Ctrl + c, Ctrl + z, Ctrl + d
- background process에게 시그널 전달
- kill
시그널 | 번호 | 기본처리 | 의미 |
SIGHUP | 1 | 종료 | 터미널과의 연결이 끊어졌을 때 발생 |
SIGNT | 2 | 종료 | 인터럽트로 사용자가 Ctrl + c 를 입력하면 발생 |
SIGQUIT | 3 | 종료, 코어덤프 | 종료 신호로 사용자가 Ctrl + \ 을 입력하면 발생 |
SIGKILL | 9 | 종료 | 무시할 수 없고 강제 종료 |
SIGALRM | 14 | 종료 | 알림에 의해 발생 |
SIGTERM | 15 | 종료 | KILL 명령이 보내는 기본 시그널 |
프로세스 종료 (kill)
kill -signal pid | 프로세스 이름
- -l signal : 리스트 출력
- -s signal : 주어진 시그널 전달
반응형
'🌏 OS > Linux' 카테고리의 다른 글
[Linux] 리눅스 쉘 프로그래밍 (1) (0) | 2023.03.13 |
---|---|
[Linux] 리눅스 Shell 명령어 (0) | 2023.03.13 |
[Linux] 리눅스 텍스트 처리 (0) | 2023.03.13 |
[Linux] 리눅스 기본 명령어 2. 디렉토리, 파일 조작 (0) | 2023.03.13 |
[Linux] 리눅스 기본 명령어 1. 로그인, 도움말, 파일시스템 (0) | 2023.03.13 |