프로세스 (Process)
설명
하드디스크에 저장된 실행코드(프로그램)가 메모리에 로딩되어 활성화 된 것.
메모리에 있는 실행파일을 인스턴스(객체,프로세스,데스크)라 하고 이 프로세스에 대한
구분이 필요하기 떄문에 PID 라는 것을 사용한다.
프로세스의 정보는 /proc 디렉터리에 존재
종류
1) 대화형
- 프로세스 종류의 대부분을 차지한다.
- 사용자가 실행을 해야 작동하는 일반적인 프로세스.
2) 배치
- 컴퓨터를 부팅하면 자동으로 실행되는 프로세스. (시작프로그램)
- 윈도우에서의 msconfing에 올라가는 부팅프로그램과 동일하다.
3) 데몬
- 윈도우의 서비스 = 리눅스의 데몬.
- 시스템에 관련된 작업을 백그라운드로 실행하는 프로그램.
프로세스 상태
1) Running
- 현재 실행 중에 있거나 언제든지 실행할 준비가 되어있는 상태.
2) Waiting
- 실행 대기 중에 있는 것으로 자원이 할당되기를 기다리는 상태.
3) Stopped
- 요청 또는 기타 원인에 의해 중단된 상태.
4) Zombie
- 프로세스가 완전히 중단되어 사용할 수 없는 상태.
- 죽어있는 프로세스지만 자원은 계속 공유하게 된다.
실행 방식
1) Foreground
- 사용자에 눈에 보이는 프로세스. (게임을 실행시 보이는 화면이 프로세스)
- pwd , cd , mkdir 등등 과 같이 눈에 보이는 명령어들도 이에 해당한다.
- 명령어로 bg가 있다.
2) Background
- 사용자에 눈에 보이지 않고 뒤에서 실행되는 프로세스.
(게임과 음악을 켜놓고 게임을 하고 있어도 음악이 재생되는데 ,
이 떄 음악이 백그라운드 프로세스)
- 명령어로 nohup , fg등이 있다.
관련 명령어
1) ps [옵션]
- 현재 동작중인 process들을 출력하는 명령어.
2) top [옵션]
- 프로세스의 CPU , MEMORY 사용량등 시스템의 전반적인 상황을 실시간으로 화면에 출력.
- 옵션없이 실행 시 , 5초마다 refresh 한다.
3) pstree [옵션]
- 현재 프로세스 상태를 계층적으로 출력해주는 명령어. (ps -f 와 비슷하다)
4) kill [옵션]
- 프로세스를 죽이는 명령어.
관련 파일
1) /proc/uptime
- 시스템 가동시간에 대한 정보를 기록하고 있다.
18079.06 17919.47