2.4. man inittab

이제 inittab 파일의 형식을 살펴 보도록 하겠습니다. 자세히 inittab 파일을 보신 분이라면 모든 줄이 다음과 같은 형식으로 되어 있다는 것을 아셨을 겁니다.

id:run-levels:action:process

제일 처음에 나오는 id 는 해당 state를 구분하기 위한 레이블이라고 보시면 됩니다. 그리고, 그 다음의 rul-levels 는 그 줄의 내용을 적용하기 위한 런 레벨의 목록입니다. 그리고, action 은 그 줄(엔트리라고 하겠습니다.), 엔트리에 의해 실행되는 프로세스를 어떻게 할 것인가에 대한 설명입니다. 마지막으로 나오는 process 는 프로세스의 실행파일의 경로와 프로세스에 넘겨줄 인수입니다. (쉘에서 실행시키는 명령어와 같은 형식이라고 생각하세요, 즉, 해당 엔트리를 실행할 때 process 부분에 나오는 명령어로 실행하라는 뜻입니다. -_-;)

action 부분에 올 수 있는 키워드는 다음과 같습니다. (맨페이지에서 참조한 내용입니다.)

  wait 

    프로세스를 실행하고, 다음 줄의 엔트리로 가지 말고, 실행한 프로세스가 
    종료하기까지 기다리라는 뜻입니다.


  respawn 

    프로세스를 실행하고, 그 프로세스가 죽게 되면, 다시 실행시키라는 의
    미입니다. 주로 getty 등의 프로세스입니다. 


  initdefault 

    디폴트 런레벨을 지정하겠다는 뜻입니다. 위에 예시한 inittab 파일
    의 첫줄에 이 키워드가 나오는데, 해석하면, 런레벨 3 을 디폴트 런
    레벨로 지정한다는 의미입니다. 즉, initdefault 엔트리는 시스템의
    부트 프로세스가 종료된 후에 진입할 런레벨을 가리키는 엔트리입니
    다. process 필드는 아무런 의미가 없게 됩니다.


  off : 아무것도 하지 말라는 뜻입니다.


  once 

    이미 실행되고 있는 프로세스라면 실행하지 말고, 실행되고 있지 않으면 
    단지 한번만 실행시키라는 뜻입니다. 단, wait 처럼 기다리거나 하지는 않
    도록 지정합니다.


  boot 

    시스템 부팅시에 실행되어야 할 프로세스를 가리킵니다. 런레벨 필드는 
    아무런 의미가 없게 됩니다. (무시됩니다.)


  bootwait 

    프로세스가 시스템 부팅시에 실행되도록 지정합니다. 단지, init 가 그
    프로세스가 종료되기를 기다린다는 점에서 boot 와 다릅니다.
    예를들어 /etc/rc 와 같은 것이 있습니다.


  sysinit 
  
    프로세스가 시스템 부트시에 실행되게 합니다. 그리고, 이 엔트리는 다
    른 boot 나 bootwait 엔트리들이 실행되기 전에 실행되는 엔트리가 
    됩니다. 런레벨 필드는 무시합니다.


  powerwait 
    
    init 프로세스가 SIGPWR 시그널을 받으면 실행되는 프로세스입니다.
    SIGPWR 시그널은 전원과 관련해서 무엇인가 문제가 있음을 가리키는 
    시그널입니다. 이때 init 는 프로세스가 종료되기까지 대기합니다.

 
  powerfail 

    powerwait 항목과 마찬가지이지만, 프로세스가 종료되기까지 기다리지
    않는다는 점이 다릅니다.


  powerokwait 
    
    이 엔트리 역시 init 가 SIGPWR 시그널을 받으면 실행될 프로세스를
    지정합니다. 그러나, 이 엔트리에서 지정된 프로세스는 
    /etc/powerstatus 파일에 OK 라는 단어가 있을 때만 실행됩니다.
    즉, 전원이 다시 돌아왔을 때만 실행됩니다.

  
  ctrlaltdel 

    init 가 SIGINT 시그널을 받게 되면 실행할 프로세스를 지정합니다.
    즉, 시스템 콘솔에서 누군가가 CTRL-ALT-DEL 키를 눌렀을 때 이 엔트
    리에서 지정한 프로세스가 실행되는 것입니다.
	       
  
  kbrequest 

    이 엔트리에서 지정하는 프로세스는 init 가 키보드 핸들러로부터 
    콘솔에서 특수키 조합이 눌려졌다는 시그널을 받으면 실행되는 프로세
    스입니다. 키맵 파일과 함께 쓰일 수 있습니다.