init 프로세스
- 리눅스 시스템에서 가장 중요한 프로세스이며, 부트 과정에서 커널이 수행하는 마지막 작업이다.
-
init 프로세스의 역할
- 파일시스템의 점검과 마운트
- 필요한 데몬 동작
- 시스템 구성에 필요한 기타설정
- 부모 프로세스가 없는 자식 프로세스에 대한 부모 프로세스 역할
ps
- 현재 동작하고 있는 프로세스들의 상황(스냅샷)을 보여줌
- 실시간으로 프로세스의 동작 상황을 확인하고 싶을 때는 top 명령어를 사용
Process 의 종류
프로세스에는 대화형 프로세스, 배치 프로세스, 데몬 프로세스로 구분되어 진다.
프로세스는 파일의 소유권과 유사한 방식의 소유권을 갖는다.
대화형 프로세스
배치 프로세스
- 일련의 작업을 몰아서 특정 시각에 실행 시키는 것이며, 일반적으로 터미널과의 입/출력 교류가 전혀 없다.
- 중요하지 않은 작업에 대해 시스템의 사용률이 낮을 때 처리하는데 매우 유용
- batch, cron, at 명령어를 사용한다.
데몬
- 데몬은 특정 서비스를 위해 백그라운드 상태에서 계속 실행되는 서버 프로세스 이다.
- 일반적인 서비스는 각각의 서비스가 사용하는 포트를 관리하는 데몬이 존재한다.
- 다른 데몬들에게 할당된 포트를 관리하는 특별한 용도의 데몬도 존재한다.
부모 프로세스와 자식 프로세스
- 프로세스는 여러가지 기능을 수행함으로써 주어진 작업을 완료하며, 모든 기능이 완료되기 전까지는 종료될 수 없다.
- 부모 프로세스는 여러개의 자식 프로세스를 실행하여 다수의 작은 작업들을 동시에 처리하도록 할 수 있다.
exec
- 한 프로세스가 다른 프로세스를 생성(spawn)할 경우 원래의 프로세스가 더는 남아 있을 필요가 없다면 exec 호출을 통해서 다른 프로그램을 실행하고 새로운 프로세스로 자신을 대체 할 수 있다.
fork
- exec 에 반해 원래 프로세스가 계속 존재해야 한다면 fork 를 호출하여 자신의 복사 본 프로세스를 먼저 만들고 복사본 프로세스에서 다시 exec 호출하여 다른 프로그램을 실행하는 새로운 프로세스로 자신을 대체한다.
이 글은 스프링노트에서 작성되었습니다.
'Programming > Linux' 카테고리의 다른 글
Samba 의 소스 파일 및 자세한 사용법을 알고 싶으면 (0) | 2009.06.21 |
---|---|
awk (0) | 2009.06.02 |
sed (0) | 2009.06.02 |
User Account Management (0) | 2009.06.02 |
시스템 보안 (0) | 2009.06.02 |
댓글