initctl은 실행 중인 Upstart init 데몬과 통신합니다. 관련 PID 네임스페이스가 실제로 Upstart를 실행하는지 확인한 뒤에만 사용하십시오. 현재 systemd 호스트에서는 systemd 고유 도구를 사용합니다.
Init · 레슨 4
Upstart 작업
확인된 레거시 Upstart 시스템에서 `initctl`로 작업을 검사하고 제어하는 방법을 알아봅니다.
작업 목록과 상태 읽기
알려진 작업과 인스턴스를 나열합니다.
$ initctl list
작업 하나를 검사합니다.
$ initctl status networking
networking start/running
Upstart는 start 또는 stop 같은 목표와 running 또는 waiting 같은 현재 상태를 모두 보고합니다. stop/waiting은 작업이 실행되지 않고 시작 조건이나 수동 요청을 기다린다는 뜻이며 반드시 오류를 나타내지는 않습니다.
Upstart 상태 출력의 stop/waiting은 일반적으로 무엇을 뜻합니까?
작업 시작 및 중지
의존성과 영향을 검토한 뒤 다음 명령을 사용합니다.
$ sudo initctl start JOB_NAME
$ sudo initctl stop JOB_NAME
작업은 환경 변수를 키로 사용하는 여러 인스턴스를 정의할 수 있습니다. 이 경우 설정에서 요구하는 정확한 변수를 제공하고 인스턴스를 조회하거나 중지할 때도 일관되게 포함하십시오. 네트워크, 저장 장치, 인증 또는 원격 접근 작업을 시작하거나 중지하면 세션이 끊길 수 있으므로 콘솔 복구 경로를 유지합니다.
작업 peanuts의 수동 시작을 요청하는 명령은 무엇입니까?
재시작과 설정 변경
실행 중인 작업의 재시작을 요청합니다.
$ sudo initctl restart peanuts
Upstart의 restart는 작업 파일을 편집한 뒤 새로 stop하고 start하는 것과 항상 같지 않습니다. 실행 중인 작업의 기존 설정이 계속 기준으로 남을 수 있습니다. 변경된 .conf를 검증하고 설치된 버전에 맞는 방식으로 Upstart에 설정 다시 불러오기를 요청한 뒤, 새 설정을 적용해야 할 때는 문서화된 중지/시작 절차를 따르십시오.
재시작은 중단을 일으키고 서비스가 다시 작동하지 못할 수도 있습니다. 작업 후 실제 엔드포인트와 로그를 검증하십시오.
실행 중인 Upstart 작업 peanuts의 재시작을 요청하는 명령은 무엇입니까?
작업 설정 검증하기
수정한 작업 파일을 설치하기 전에 레거시 배포판이 제공한 검증 도구, 일반적으로 init-checkconf를 사용하십시오. 포함된 스크립트, 환경, 사용자/그룹 설정, 재시작 정책 및 이벤트 표현식을 검토합니다. 그런 다음 버전에 맞는 initctl reload-configuration 작업 흐름으로 정의를 다시 불러옵니다.
구문 검증은 경로의 존재, 실행에 필요한 자격 증명, 이벤트 도착 또는 프로세스 준비 완료를 증명할 수 없습니다. 복구 가능한 환경에서 테스트하십시오.
작업 구문 검증으로 증명할 수 없는 것은 무엇입니까?
신중하게 이벤트 내보내기
Upstart는 이름 있는 이벤트를 내보낼 수 있습니다.
$ sudo initctl emit EVENT_NAME
시작 또는 중지 표현식이 일치하는 모든 작업이 반응할 수 있습니다. 이벤트는 작업 하나에만 보내는 것이 아니며 추가 이벤트를 통해 영향이 연쇄될 수 있습니다. 사용자 정의 또는 시스템 이벤트를 내보내기 전에 일치하는 모든 설정을 검사하고 운영 호스트에서 핵심 부팅 이벤트를 가볍게 재생하지 마십시오.
initctl emit EVENT_NAME을 실행하면 어떤 일이 생길 수 있습니까?
레슨 완료
Upstart 작업 완료
이제 명시적인 상태와 이벤트 범위를 고려해 Upstart 작업을 조작할 수 있습니다.
initctl출력에서 목표와 상태를 따로 읽습니다.영향을 검토한 뒤 정확한 작업 인스턴스를 시작하고 중지합니다.
재시작과 변경된 작업 설정 적용을 별개의 문제로 취급합니다.
구문을 검증한 뒤 런타임 준비 상태를 테스트합니다.
이벤트를 내보내기 전에 모든 일치 항목을 검사합니다.