#1. 프로세스 관리
1. 프로세스의 개념
1) 프로세스(Process) 란?
- 하드디스크에 저장된 프로그램을 메모리에 로딩시켜 활성화된 것을 말한다.
- 즉, 실행중인 하나의 프로그램 단위이다.
2) 프로세스 용어
용어 | 설명 |
Foreground Process | 화면에서 실행되는 것이 보이는 프로세스 (vscode, chrome) 사용자가 로그아웃하면 같이 종료된다. |
Background Process | 화면에 보이지 않으면서 실행되는 프로세스 (mysql, node등의 서버 프로그램들) 로그아웃을 해도 항상 실행 중 이다. |
프로세스 번호 (PID: Process ID) | 운영체제에 의해 프로세스에 할당되는 고유번호 |
Background 번호 | Background로 실행되는 프로세스의 순차 번호 |
부모 프로세스 / 자식 프로세스 | 실행되는 프로세스는 부모 프로세스에 종속되며 이때 종속된 프로세스는 자식 프로세스. 부모 프로세스가 종료되면 자식 프로세스도 같이 종료된다. |
2. 프로세스 관련 명령어 - ps
1) ps 명령어
- 프로세스의 정보 및 상태를 표시 (윈도우의 작업관리자와 비슷한 기능)
옵션 | 설명 |
a | 다른 사용자의 프로세스 표시 |
x | Background 프로세스 표시 |
ax | 모든 프로세스 표시 |
u | 사용자와 실행 시간을 표시 |
aux | 모든 프로세스의 사용자와 실행 시간을 표시 |
-ef | 프로세스 번호(PID)로 정렬하여 표시 |
2) ps 명령어 출력 결과 의미
항목 | 설명 |
UID or USER | 프로세스를 실행한 사용자 ID |
PID | 프로세스 번호 |
PPID | 부모 프로세스 번호 |
TTY | 실행 위치 |
STAT | 프로세스 상태 |
TIME | 프로세스 실행 시간 |
COMMAND | 명령어 또는 프로그램 |
%CPU | CPU 점유율 |
%MEM | 메모리 점유율 |
VSZ | 가상 메모리 점유 용량 |
RSS | 주 메모리 점유 용량 |
3) 프로세스 상태
STAT 상태값 | 성명 |
D | 입출력 대시 상태 |
R | Runnable 또는 Running 상태 |
S | Sleeping 상태 |
T | Stopped 상태 |
X | Dead 상태 |
Z | Zombie 상태 |
3. 프로세스 관련 명령어 - kill
1) kill 명령어
- 프로세스를 종료 시키는 명령어
프로세스를 종료시키는 방법 | |
-9 ( + 프로세스 PID) | 프로세스 강제 종료 옵션 |
kill | Background Process 종료 |
ctrl+c | Foreground Process 종료 |
4. 모니터링 명령어
1) more 명령어
- 특정 명령어의 출력결과가 너무 많을 경우 파이프라인 ( | )과 함께 more 명령어를 지정하여 출력 결과를 나누어서 확인하는 기능
- 텍스트 형식의 내용을 화면 한 페이지 단위로 출력
명령어 | more
- -- More -- 가 뜬 상태에서 아래의 기능을 사용 할 수 있다.
- Enter: 다음 줄로 이동
- Space Bar: 다음 페이지 이동
- b: 이전 페이지 이동
- q (또는 ctrl + c): 종료
2) 파이프 라인
- 2개의 프로그램을 연결한다.
- " | " (키보드의 백스페이스 키 근처에 위치) 기호를 사용한다.
- 파이프 기호의 왼쪽 실행결과가 오른쪽 명령의 입력으로 연결된다.
# ls 명령의 실행결과를 한 페이지 단위로 화면에 볼 수 있다
$ ls -l | more
3) grep 명령어 (필터링)
- 특정 명령어의 출력결과가 너무 많을 경우 원하는 내용이 있는 라인만 선택적으로 출력하는 기능이다.
4) head 명령어
- 지정된 파일의 내용을 한번에 출력하는 cat과 다르게 파일의 앞 부분만 출력하는 기능이다.
- 텍스트 형식의 내용을 앞 10행만 출력한다.
5) tail 명령어
- 지정된 파일의 내용을 한번에 출력하는 cat과 다르게 파일의 뒷 부분만 출력하는 기능이다.
- 텍스트 형식의 내용을 마지막 10행만 출력한다.
'국비수업 > Linux' 카테고리의 다른 글
[Linux] 서비스와 리눅스 패키지 (0) | 2022.07.21 |
---|---|
[Linux] 쉘(Shell) (0) | 2022.07.20 |
[Linux] 파일 다운로드, 압축하기 (0) | 2022.07.20 |
[Linux] 사용자 및 그룹 관리 (0) | 2022.07.20 |
[Linux] 파일 및 디렉토리 와 명령어 (0) | 2022.07.18 |