Upstart 는 부팅 중 및 시스템 실행 중에 서비스와 작업을 관리하기 위해 일부 upstart linux 배포판에서 사용되는 이벤트 기반 init 시스템입니다. 이는 작업 (jobs) 과 이벤트 (events) 시스템을 통해 작동합니다. 모든 이벤트의 출처를 추적하는 것은 복잡할 수 있으며, 종종 /etc/init에서 작업 구성을 탐색해야 하지만, 명령줄에서 이러한 작업을 직접 관리해야 하는 경우가 더 일반적입니다. initctl 유틸리티는 이 목적을 위한 일련의 명령을 제공합니다.
작업 상태 보기
알려진 모든 Upstart 작업과 현재 상태 목록을 보려면 list 명령을 사용합니다.
initctl list
shutdown stop/waiting
console stop/waiting
...
출력은 작업 이름, 목표 (goal) 및 현재 상태를 표시합니다. 예시 shutdown stop/waiting에서 작업 이름은 shutdown이고, 목표는 stop이며, 현재 상태는 waiting입니다. 작업 상태와 목표는 상호 작용함에 따라 변경됩니다.
특정 작업의 상태를 확인하려면 status 명령을 사용합니다.
initctl status networking
networking start/running
수동으로 작업 제어하기
/etc/init의 작업 구성 파일은 작업이 시작, 중지 및 이벤트와 상호 작용하는 방식을 정의하지만, initctl을 사용하여 이러한 작업을 수동으로 재정의할 수 있습니다. 이는 문제 해결이나 관리 작업을 수행할 때 유용합니다.
작업을 수동으로 시작하려면:
sudo initctl start networking
작업을 수동으로 중지하려면:
sudo initctl stop networking
작업을 수동으로 다시 시작하려면 (작업을 중지한 다음 시작하는 편리한 단축키):
sudo initctl restart networking
사용자 지정 이벤트 방출하기
Upstart 작업은 이벤트에 의해 트리거됩니다. 또한 수동으로 이벤트를 "방출 (emit)"할 수 있으며, 이는 사용자 지정 작업을 트리거하거나 테스트 목적으로 유용할 수 있습니다. some_event에서 시작하도록 구성된 모든 작업은 다음 명령으로 트리거됩니다.
sudo initctl emit some_event