프로세스(Process)

: 현재 실행중인 프로그램

메모리에 일정 부분 차지

 ** 커널 : 하드웨어에 접근

프로세스는메모리 일중 구역을 할당 받아 실행

프로텍션 도메인(Protection domain) : 할당 받은 메모리영역

• 프로세스는 pid에 의해 구별
• 프로세스는 tree 구조를 이루며 최상위 프로세스는 init
• 프로세스는 ppid로 구별되는 상위(부모 프로세스)를 갖는다.


JOB
job은 현재 터미널에서 실행한 프로세스로 shell에 의해서 job 번호가 부여된다.

 

관련 명령어
• ps, kill, pkill, jobs, nohup

 

 

Foreground

: 현재 터미널에서 제어되는 프로세스이다. 터미널은 입출력은 foreground 프로세스를 위해서 대기

Background

: 터미널과 무관하게 메모리에서 실행되는 프로그램이다. 터미널 입출력에 대해서 투명하다.

보통 daemon(service) 프로세스들이background 에서 실행된다.

 

ps

: 프로세스를 확인
옵션
-a : 현재 터미널에서 실행중인 프로세스
-e : 전체 프로세스
-f : 자세한 내용
-u : 실행 계정, 시작 시간 포함한 정보 검색

UID : 프로세스 실행 계정
• PID : pid
• PPID : 부모프로세스 pid
• C : idle time
• STIME : start time
• TTY : 터미널
• TIME : CPU 사용 시간
• CMD : 실행 명령

 

kill

: 프로세스를 강제 종료한다. 

signal에 미리 정의된 프로세스에 대한 종료 작업 수행

옵션
-l : signal 목록 (9 : 프로세스 강제 종료)

 

nohup

: 프로세스 중단(hangup)을 무시하고 명령을 계속 실행
이로인해 로그아웃 이후에도 명령은 계속 실행되지만 명령을 background(&)로 돌리는 것은 아니다. 

또한 표준 출력을 nohup.out으로 변경
작업 시간이 긴 명령어를 실행할 때 로그 아웃이나 터미널 다운에 대비
# nohup [command]

+ Recent posts