#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 명령어 (필터링)

  • 특정 명령어의 출력결과가 너무 많을 경우 원하는 내용이 있는 라인만 선택적으로 출력하는 기능이다.

zsh 문자열이 있는 라인만 출력

 

4) head 명령어

  • 지정된 파일의 내용을 한번에 출력하는 cat과 다르게 파일의 앞 부분만 출력하는 기능이다.
  • 텍스트 형식의 내용을 앞 10행만 출력한다.

 

5) tail 명령어

  • 지정된 파일의 내용을 한번에 출력하는 cat과 다르게 파일의 뒷 부분만 출력하는 기능이다.
  • 텍스트 형식의 내용을 마지막 10행만 출력한다.

+ Recent posts