프로세스 (Process)
- 커널의 관리 하에 현재 시스템에서 동작중인 프로그램이다.
- 커널은 프로세스 관리를 위해 각프로세스에게 PCB를 할당한다.
PCB ( Process Control Block)
- 고유번호 (PID, Process IDentification Number)
커널이 할당하는 프로세스마다 부여되는 고유의 번호
- 우선순위 (Priority)
운영체제가 스케줄링 하기 위한 정보
- 현재 상태 (Current State)
할당받은 자원 및 프로세스의 상태를 나타내는 정보
프로세스의 종류
-데몬(Daemon) 프로세스
커널에 의해서 실행되고 특정서비스를 제공하는 프로세스
-부모(Parent) 프로세스
부모 프로세스는 다른 프로세스를 만들며, init을 제외한 모든 프로세스는
부모 프로세스를 가지고 있다.
-자식(Child) 프로세스
부모 프로세스에 의해 만들어지는 프로세스이다.
자식 프로세스는 종료시 부모 프로세스에게 결과를 전달하고 종료된다.
-고아(Orphan) 프로세스
자식 프로세스보다 부모 프로세스가 먼저 종료되었을때 해당 프로세스는
고아 프로세스가 되어 init 프로세스가 관리를 한다.
-좀비(Zombie) 프로세스
자식 프로세스의 종료신호를 부모 프로세스가 처리하지 못할 경우,
자식 프로세스는 좀비 프로세스가 된다.
init 프로세스
- 부팅 시 가장 먼저 실행되는 시스템 초기화 프로세스
ps (Process Status) - 시스템에 동작중인 프로세스 확인
[옵션]
-e 모든 프로세스에대한 리스트 출력
-f full format으로 출력
-a 다른 사용자의 프로세스도 출력
-u 사용자 이름, 시간 등 상세한 정보 출력
-x 지금 사용되고 있는 모든 프로세스를 출력
현재 시스템 실행중인 프로세스 확인
#ps -ef
#ps -ef | more
#ps -ef | grep fire // firepox를 킨 후 명령어를 입력했을
(1)root (2)734 (3)1
(1)UID - 프로세스를 실행 시킨 프로세스의 소유자를 의미
(2)PID - 실행된 프로세스에 부여된 숫자를 의미 임의로 번호가 주어진다.
최근에 실행시킨 프로세스가 PID 값이 높다
(3)PPID - Parents Process ID의 약자로, 프로세스를 생성한 부모 프로세스의 PID
kill - 프로세스에 신호(SIGNAL)를 전달하는 명령어
#kill -[SIGNAL] [PID]
SIGNAL 종류 확인
#kill -l
자주 사용하는 시그널
2) SIGINT - 프로세스 종료 (인터럽트)
9) SIGKILL - 프로세스 강제 종료
15) SIGTERM - 프로세스 종료
18) SIGCONT - 프로세스 재시작
19) SIGSTOP - 프로세스 정지
SIGNAL 사용
1번 세션 2번 세션
#vi /etc/services
#ps -ef | grep vi -> PID 확인
(1) #kill -9 [PID]
(2) #kill -SIGKILL [PID]
죽었음
프로세스 동작 형태
포어 그라운드 (Foreground)
- 프롬프트에서 입력하는 대부분의 명령어는 포어 그라운드 동작
- 명령어의 실행 과정이나 결과를 화면에 출력
- 프로세스가 종료되길 기렸다가 종료가되면 프롬프트를 출력하여
명령대기 상태로 변환
백 그라운드 (Background)
- 프로세스의 종료 여부에 관계없이 즉시 명령 대기 상태가되어
다른명령어를 실행 할 수 있음
- 장시간 실행되어야하는 프로세스 주로 사용
- 명령어 뒤에 ampersand ( & )
#명령어 &
[작업번호] [PID]
#fg - 백그라운드 작업 중인 프로세스를 포어그라운드로 변경
#fg %[작업번호]
#bg - 포어그라운드 작업을 백그라운드로 변경
#bg %[작업번호]
#sleep [숫자] // 입력한 숫자만큼 대기 (단위/초)
Ctrl + z -> 19) SIGSTOP - 프로세스 정지
#jobs - 백그라운드에 동작하는 프로세스를 확인하는 명령어
sleep 9999999 & 프로세스를 정지
1. PID 혹은 작업번호 확인
#ps -ef
#jobs
2. kill 명령어로 정지 신호 전달
#kill -19 [PID/작업번호]
#kill -SIGSTOP [PID/작업번호]
3. 프로세스 정지 확인
#jobs
#ps -aux | grep sleep
STAT 필드 확인 T -> 작업제어로 인해 정지된 상태
4. 프로세스 재시작 신호 전달
#kill -18 [PID/작업번호]
#kill -18 %1
#kill -SIGCONT [PID/작업번호]
'Foundation > - Linux' 카테고리의 다른 글
응급처치 & GRUB설정 (0) | 2017.05.16 |
---|---|
Telnet & SSH & VNC (0) | 2017.05.15 |
DHCP ??! (0) | 2017.05.11 |
파이프&필터(grep)&cut&리다이렉션 (0) | 2017.05.10 |
Bonding?? (0) | 2017.05.10 |