답변:
14.04에 있는지 확인하십시오. Ubuntu 16.04 이상은 Upstart가 아닌 systemd를 사용합니다.
Upstart 스크립트는에 배치 /etc/init/
되고 끝나는 스크립트 파일 입니다 .conf
.
시작 시간을 나타내는 섹션과 실행 명령이있는 섹션이 필요합니다.
샘플로 시작하는 가장 쉬운 스크립트는 다음과 같습니다.
# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program
아래에 루트로 작성되었습니다 /etc/init/myprogram.conf
.
스크립트에 둘 이상의 명령 행이 필요한 경우 행 script
대신 섹션을 사용하십시오 exec
.
# myprogram.conf
start on filesystem
script
/usr/bin/java -jar /path_to/program
echo "Another command"
end script
서비스에서 bash 완료를 사용하려면 /etc/init.d
폴더에 심볼릭 링크를 추가하십시오 .
sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram
그런 다음 시작하고 중지하십시오.
sudo service myprogram start
upstart cookbook 에 따르면 실행할 pre-start
/ post-start
및 pre-stop
/ post-stop
명령을 만들 수 있습니다 .
또한 프로세스가 실행 중인지 확인하고 싶습니다. 이 질문을 확인 하고 pre-start
섹션을 사용 하십시오.
sudo chmod +x /etc/init.d/myprogram
. 주의 : 귀하의 답변 방법은 Ubuntu 16.04에서 작동하지 않습니다!
가동을 시작해야합니다. http://upstart.ubuntu.com/getting-started.html
Upstart는 좋은 ols SysV init 스크립트와 비교하여 (IMHO) 재앙입니다. 업 스타트는 추가 된 작업에 대한 거꾸로 적은 노력으로 더 많은 노력을 기울입니다. 그 말로, 나는 명백한 ;-)를 진술하는 나를 위해 임무를 수행 할 몇 명의 신생 수비수가있을 것이라고 생각합니다.