
LSB 형식으로 init 스크립트를 생성하여 /etc/init.d 디렉터리에 복사했습니다. 수동으로 서비스를 시작하고, 중지하고, 상태를 지정할 수 있으며 모든 것이 잘 작동합니다. 그런 다음 다음을 수행하여 런레벨을 사용하여 서비스를 자동 중지/시작하도록 설정하려고 합니다.
update-rc.d service defaults
다음과 같은 경고가 표시됩니다.
update-rc.d: 경고: xxx 시작 실행 수준 인수(없음)가 lsb 기본 시작 값(3 4 5)과 일치하지 않습니다.
initctl list"에 내 서비스가 표시되지 않습니다. 이 서비스를 등록하거나 올바르게 표시하려면 수행해야 하는 단계가 있습니까? (RedHat에서는 "chkconfig --add xxx라는 것을 알고 있습니다)) Ubuntu를 잘 모릅니다.
답변1
initctl
Uubuntu의 신생 메커니즘의 일부입니다. initctl list
upstart-jobs의 상태만 표시합니다. 귀하의 스크립트는 실제로 SysV init 스크립트입니다.
SysV init 스크립트의 상태를 나열하려면 다음 명령을 사용하십시오.
service --status-all
귀하의 서비스가 여기에 나열되어야 합니다.
폴더 에 링크를 만들려면 /etc/rcN
다음 명령을 사용하십시오.
update-rc.d your_init_script defaults
맨페이지에서 update-rc.d
:
기본값을 사용하면 update-rc.d는 런레벨 2345에서 서비스를 시작하고 런레벨 016에서 서비스를 중지하는 링크를 만듭니다.