OPS

프로세스, 백그라운드, 포그라운드 간단 정리

찻잔속청개구리 2022. 2. 10. 13:25
반응형
  • 프로세스 = 실행 중인 프로그램의 단위
    • 동일한 프로그램을 실행해도 프로세스는 서로 독립적으로 동작
    • 스레드 = 병렬 처리를 효율적이고 빠르게 하려고 부모프로세스나 같은 프로세스끼리 자원 공유
    • 데몬 = 늘 동작할 프로세스
      • crond, sshd

 

현재 실행 중인 프로세스 상태를 보려면,
ps 명령어를 사용한다.

 

ps <옵션> <PID>

PID는 프로세스 ID를 말한다.

 

옵션에 대한 설명은 아래에..

a 모든 사용자의 프로세스
u 사용자명 같은 정보
x 제어터미널이 없는 프로세스(데몬) 표시
w 프로세스마다 표시하는 내용 늘림
l 상세정보
j 부모프로세스, 프로세스 그룹까지
m 스레드(병렬처리 효율적이고 빠르게 함, 자원 공유함)
ttty tty터미널이 제어하는 프로세스만 표시
U <user> 사용자가 실행한 프로세스만 표시

 

예시 :

$ ps
PID TTY TIME CMD
2697 pts/0 00:00:00 bash
6832 pts/0 00:00:00 xeyes
6864 pts/0 00:00:00 ps

$ ps auxw | grep xeyes
honeydew 6832 0.0 0.1 26160 4844 pts/0 S 14:55 0:00 xeyes
honeydew 6871 0.0 0.1 26160 4820 pts/0 S 15:09 0:00 xeyes
honeydew 6873 0.0 0.0 18976 664 pts/0 S+ 15:09 0:00 grep --color=auto xeyes
  • PID = 프로세스 ID
  • PPID = 부모프로세스ID
  • TTY = 프로세스가 실행된 터미널
  • TIME = CPU시간
  • CMD = 실행한 명령어

백그라운드 VS 포그라운드

  1. 백그라운드 : 다음 명령 입력 받는 상태 (bg <%n>)
    • & : 바로 다음 명령어 입력 할 수 있는 상태 됨 = 백그라운드
      • <명령어> & → fg : 백그라운드로 명령어 실행한 후 포그라운드로 전환됨=키보드입력X
    • bg : 정지한 프로그램을 백그라운드로 실행
      • $ bg %1 : 번호 1 작업 백그라운드로 재개(다음 명령어 쓸 수 있음)
      • $ fg %1 : 번호 1 작업 포그라운드로 재개(다음 명령어 쓸 수 없음)
  2. 포그라운드 : 다음 명령 입력 못 받음 (fg <%n>)
    • ctrl + z 명령어 중지
      • fg 정지했던 명령어 포그라운드로 실행
        • fg %2 : 번호 2 작업을 포그라운드로 실행
    • ctrl + c 강제종료 (안 되면 kill, jobs, ps)

 

참조 : 리눅스 입문자를 위한 명령어 사전

반응형

'OPS' 카테고리의 다른 글

로그인 이력을 표시 하려면? <last>  (0) 2022.02.23
<df>와 <du> 정리  (0) 2022.02.17
[Git] git 처음 실행하기  (0) 2022.01.18
[Git] git 설치  (0) 2022.01.18
S3와 EFS  (0) 2022.01.18