[Linux] 프로세스, 데몬, 서비스
4.7 프로세스, 데몬, 서비스
4.7.1 프로세스
프로세스는 ‘하드디스크에 저장된 실행 코드(프로그램)가, 메모리에 로딩되어 활성화된 것’정도로 설명할 수 있다. (Firefox라는 프로그램이 하드디스크에 저장되어 있다가 실행해서 메모리에 로딩된 상태)
포그라운드 프로세스
Foreground Process는 화면에 나타나서 사용자와 상호작용하는 프로세스
백그라운드 프로세스
Background Process는 실행은 되었지만, 화면에는 나타나지 않고 뒤에서 실행되는 프로세스 (바이러스 백신, 서버 데몬)
프로세스 번호
메모리에 로딩되어 활성화된 프로세스를 구분하려면 각각의 고유번호가 필요하다. 이렇게 각각의 프로세스에 할당된 고유 번호를 프로세스 번호라 부른다. 메모리에서 활성화된 프로세스를 메모리에서 강제로 제거하려면 프로세스 번호를 사용해야 하기 때문이다.
작업 번호
현재 실행되는 백그라운드 프로세스의 순차 번호를 의미한다.
부모 프로세스와 자식 프로세스
모든 프로세스는 부모 프로세스의 하위에 종속되어 실행된다. Firefox는 X윈도 프로세스가 구동된 상태에서 실행되어야한다. 부모 프로세스를 종료하면 종속된 자식 프로세스도 모두 종료된다.
주요 명령어
- ps
현재 프로세스의 상태를 확인하는 명령어 ‘ps -ef | grep’: 프로세스의 번호 및 상태를 확인
- kill
프로세스를 강제로 종료하는 명령어, ‘-9’옵션과 함께 사용하면 무조건 프로세스가 종료된다. ‘kill -9 프로세스번호’
- pstree
부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여준다.
4.7.2 서비스
데몬daemon이라고도 부르는 서비스service는 서버 프로세스를 말한다. 즉, 서비스는 웹서버, 네임 서버, DB서버 등의 프로세스를 지칭한다. 또는 웹 서버 데몬, 네임 서버 데몬 등으로 부르기도 한다. 우선은 ‘서비스=데몬=서버 프로세스’정도로만 이해해도 좋다.