F.2.5. 작업 정의
예전에는 sysvinit 패키지가 기본 설정을 위한 init 데몬을 제공했습니다. 시스템 시작시 이 init 데몬이
/etc/inittab
스크립트를 실행하여 각각의 런레벨에 정의된 시스템 프로세스를 시작했습니다. 이제는 기본 설정으로 Upstart 패키지가 제공하는 이벤트 기반의 init 데몬을 사용합니다. 특정 이벤트가 발생할 때마다, init 데몬은 /etc/event.d
디렉토리에 저장된 작업을 처리합니다. init 데몬은 이벤트로서 시스템의 시작을 인지합니다.
보통 각각의 작업은 프로그램과 init이 그 프로그램을 실행하거나 종료하도록 유발하는 이벤트로 지정됩니다. 몇몇 작업은 태스크로 구성됩니다. 태스크는 행동을 수행한 다음에 다른 이벤트가 다시 그 작업을 유발 할 때까지 종료됩니다. 다른 작업은 서비스로 구성되며, init는 다른 이벤트(혹은 사용자)가 그 작업을 종료시킬 때 까지 작업을 계속 실행합니다.
예를 들어
/etc/events.d/tty2
작업은 tty2에서 시스템 시작 부터 시스템 종료 까지, 또는 다른 이벤트(런레벨의 변경 등)가 그 작업을 종료할 때 까지 가상 터미널을 유지하기 위한 서비스입니다. 이 작업은 그 기간 동안 가상 터미널이 예기치 못한 이유로 종료되더라도 init이 재시작할 수 있도록 구성됩니다:
# tty2 - getty # # This service maintains a getty on tty2 from the point the system is # started until it is shut down again. start on stopped rc2 start on stopped rc3 start on stopped rc4 start on started prefdm stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/mingetty tty2