- process : 컴퓨터내에서 실행하는 모든 프로그램
- daemon : 주기적인 서비스 요청을 처리하기 위해 시스템에서 계속 동작하고 있는 프로그램 EX)백신 등
1. Process
- 솔라리스에서 동작하는 모든 프로그램은 프로세스를 생성한다.
(log in, login시 실행되는 shell, 명령어 실행(find 등), application실행)
- 시스템에서 동작하는 모든 프로그램이 프로세스
- 시스템은 Daemon이라는 프로세스도 시작한다.
- 모든 프로세스는 유일한 값인 PID를 가진다
- 커널은 PID를 이용하여 프로세스를 관리하고 추적한다.
- 사용자 또한 프로세스를 구별하기 위해 PID를 사용한다.
2. 부모 프로세스
- PPID = Parent Process Identifier
- 부모에 의해 생성된 프로세스를 자식 프로세스
- shell 프롬프트에서 명령어를 입력했다면
shell -> 부모프로세스
명령어 -> 자식프로세스
- 부모 프로세스가 없는 자식 프로세스 -> 좀비 프로세스
3. 관련 명령어
① ps [-option]
- 시스템에서 현재 동작하고 있는 프로세스 목록 표시
[option]
no option | 현재 터미널에서 동작하고 있는 프로세스 목록 표시 |
-e | 현재 시스템에서 동작하고 있는 모든 프로세스 목록 표시 |
-f | PID, TTY(terminal identifier), TIME(cumulative execution time), CMD(command), UID(owner of process), PPID(parent process ID), STIME(process start time) 등 표시 |
② pgrep : ps + grep
③ prstat
- 5초마다 프로세스 정보 갱신
- top : 수동 설치해야함, 실행중인 모든 프로세스 보여주기
④ kill [-signal] PID
- 하나 또는 그 이상의 실행중인 프로세스에게 signal 전송
- 반드시 PID mapping
- Default signal = ‘', ‘TERM'
EX) kill -15 3429 : PID=3429 프로세스 정상종료
⑤ pkill [-signal] [프로세스명]
- 하나 또는 그 이상의 실행중인 프로세스에게 signal 전송
- 반드시 process name 으로 mapping
- Default signal = ‘', ‘TERM'
EX) pkill -9 shell : shell이 들어간 프로세스 강제종료
[signal : 프로세스를 통제하기 위해 전달되는 메시지 번호, 솔라리스에서 40여가지 사용가능]
signal number | signal | signal name | response | action | example |
1 | SIGHUP | HUP | Exit | 종료되었다가 다시 실행 | kill -1 1000 kill -HUP 1000 |
2 | SIGINT | INT | Exit | Ctrl + c와 동일, 강제종료 | kill -2 1000 kill -INT 1000 |
9 | SIGKILL | KILL | Exit | 커널이 직접 강제 종료 | kill -9 1000 kill -KILL 1000 |
15 | SIGTERM | TERM | Exit | 프로세스 자신이 종료, 정상종료 | kill -15 1000 kill -TETM 1000 |
4. Job control
- 터미널에 의해 제어되는 프로세스
- 모든 job은 shell에 의해 job ID가 할당된다.
- Job control : 하나의 shell에서 여러개의 job 관리
- shell은 동시에 여러개의 job을 실행할 수 있다. (print request, ls, netscape)
- job은 보통 foreground에서 작동한다.
- 여러개의 job을 실행하기 위해 background에서 실행 할수도 있다.
[Job control commands]
jobs | 현재 실행중인 job표시 |
bg %n | job id가 ‘n’인 작업을 background 작업으로 변경 |
fg %n | job id가 ‘n’인 작업을 foreground 작업으로 변경 |
^z | foreground job 중지 |
stop %n | job id가 ‘n’인 background job 중지 |
'os > Solaris' 카테고리의 다른 글
9. vold (volume management) (0) | 2014.08.28 |
---|---|
8. Archiving (압축) (0) | 2014.08.28 |
6. 파일권한관리 (0) | 2014.08.28 |
5. 검색 (find, grep, egrep) (0) | 2014.08.28 |
4. vi Editor (0) | 2014.08.28 |
댓글