프로세스 id 1 번인 init 프로세스는 사용자들을 위해서 시스템을 설정하게 됩니다. pid 0 인 프로세스가 초기화(?)한 커널의 바탕에서 나머지 작업을 수행하는 것이죠.
init 프로세스(/sbin/init) 가 하는일의 대충은 다음과 같습니다 :
파일시스템의 구조 검사
파일시스템의 마운트[1]
서버 데몬을 띄우고,
사용자 로그인을 기다림
사용자가 로그인 하면, 사용자를 위한 쉘을 띄움
init 가 처음 시작해서 수행해야 할 작업들을 설정한 파일은 /etc/inittab 파일 입니다. init 는 새로운 실행레벨에서 실행할 프로세스를 결정하기 위해서 이 파일을 참조합니다. 다시 말하면, inittab 파일은 시스템의 상태에 따라서 해당하는 런레벨에서 init 프로세스가 수행해야 할 일들을 서술해 놓은 파일입니다. init 프로그램은 inittab 파일을 참조하여서 모든 새로운 런레벨에서 실행할 수 없는 프로세스가 만약 지금 실행중이면, 그 프로세스를 죽이고, 새로운 런레벨 에서 실행해야만 하는 프로세스 중 현재 실행되고 있지 않은 프로세스는 새로이 실행을 시킵니다.
[1] | 이와 관련해서 정헌학님(hunhak94@somedomain) 께서 다음과 같은 질문을 주셨습니다 : 다음은 저의 답장입니다 :
|