반응형
Process
- 프로그램이나 명령어를 실행하면 메모리에 적재되어 실제로 실행되고 있는 상태
- 프로세스가 시작하면 프로세스 식별번호 PID(prcoess ID)가 부여
- 해당 프로세스를 실행한 부모 프로세스를 나타내는 PPID(Parent process ID)
- UID + GID 정보를 통해 해당 프로세스가 어느 사용자에 속해 있는지 확인 가능
- 프로세스가 파일에 대해 갖는 권한 및 프로세스가 실행된 터미널, 명령어, 시작 시작 등 많은 정보가 있음
PS 명령어
- 현재 실행 중인 프로세스를 확인 가능
- 프로세스의 상태를 확인 가능
#ps [option]
옵션 | 설명 |
-a | 실행 중인 프로세스 중 제어 터미널을 가지고 있는 프로세스 목록 출력 |
-e, -A | 시스템에서 실행 중인 모든 프로세스의 상태를 출력 |
-f | 각 명령에 대해 PID 및 PPID를 포함한 정보를 출력 |
-l | -f 옵션보다 더 자세히 정보를 출력 |
-u | 사용자 이름과 프로세스가 시작된 시간 출력 |
-x | 터미널에 종속되지 않은 프로세스 출력 |
PID : 프로세스가 갖는 식별 번호 | STIME : 프로세스가 시작된 시간 |
TTY : 프로세스가 실행된 터미널 포트 | UID : 사용자의 UID |
TIME : 총 CPU 사용 시간 | PPID : 프로세의 부모 프로세스 식별 번호 |
CMD : 명령어 실행 라인 |
단순 ps로는 아래 사진과 같이 확인 가능합니다.
프로세스를 확인할 때 가장 많이 사용하는 명령어
#ps -ef
pstree 명령어
#pstree [option] : 프로세스들의 구조를 트리 형식으로 출력
옵션 | 설명 |
-q | 명령어 인수까지 출력 |
-n | PID 순으로 정렬하여 출력 |
-p | PID출력 |
-u | UID 출력 |
-V | 버전 정보 출력 |
#pstree -p 옵션을 통해 pid를 출력하는 방식으로 사용이 가능합니다.
Signal
- 실행 중에 있는 프로세스에게 전달하는 메시지
대표 적으로 4개만 알아보도록 하겠습니다.
시그널 이름 | 시그널 번호 | 명령 |
SIGHUP | 1 | 프로세스 종료 후 다시 실행 |
SIGINT | 2 | 프로세스 종료 (Ctrl + C) |
SIGKILL | 9 | 프로세스 강제 종료 |
SIGTERM | 15 | 프로세스 정상 종료 |
#kill -[signal] PID
#kill -15 998
-15 옵션을 주었으니 해당 프로세스를 정상 종료하라는 의미가 됩니다.
프로세스의 우선순위
- 한 번에 여러 개의 프로그램이 동시에 동작할 수 있는 시스템
- 프로세스의 중요도를 참고하여 우선순위를 설정
- 우선순위가 높으면 낮은 프로세스보다 자원을 더 많이 배분받게 되도록 NICE 데이터를 이용하여 우선순위를 시스템은 결정하게 된다.
- 우선순위는 -20 ~ 19까지 부여 가능 | -20에 가까울수록 높은 우선순위를 가지게 됨
ps -el 명령어로 우선순위 확인
nice 명령어
#nice -n [NICE값] [프로그램 명]
반응형
'재미로하는 공부' 카테고리의 다른 글
[sqld] 3층 스키마 (3-Level Schema) (6) | 2022.03.24 |
---|---|
[sqld] 데이터 모델링 이론 및 ERD (16) | 2022.03.24 |
리눅스 시스템 자동화하기 (cron) (8) | 2022.03.21 |
리눅스 디스크 사용량 할당 (disk quota) (3) | 2022.03.21 |
vmware에 안드로이드 설치하는 방법 (11) | 2022.02.20 |