스크립트에서 서비스 다시 시작

스크립트에서 서비스 다시 시작

나는초기화 스크립트- /etc/init.d/myservice, 다음을 포함한 여러 프로세스를 시작합니다.CLI 프로세스. 이 CLI 프로세스에서 다음을 추가했습니다.주문하다서비스를 다시 시작하는 데 사용할 수 있습니다(다시 시작우리 스스로- 일종의).

내가 시도한 것 - 스크립트(CLI 명령에서 생성됨)에서 실행 sudo service myservice restart. restart그러나 stop;start이것은 작동하지 않습니다! 즉 stop, 이런 일이 발생하더라도 부분을 실행하는 동안 start스크립트는 종료됩니다(신호 없이 간단하게 EXIT).

nohup등등의 조합을 시도했지만 disown작동하지 않는 것 같습니다! 종료하지 않고 이 작업을 수행하는 방법을 잘 모르겠습니다 restart. 추가 디버깅을 위한 포인터나 해결 방법이 있습니까?

결론적으로:

  • myservice-> 다음을 포함하여 많은 프로세스를 생성합니다.명령줄 인터페이스
  • restartCLI -> 호출하는 명령이 있습니다.스크립트
  • 스크립트하다sudo service myservice restart

- 추가 정보 -

저는 우분투 12.04를 사용하고 있는데,upstart

답변1

꽤 오랫동안 검색해 왔지만 이 SuperUser Q&A에서 다음과 같은 제목의 솔루션을 찾았습니다.터미널에서 프로세스를 완전히 분리하는 방법은 무엇입니까?, 여기에 내 질문을 게시한 후.

| at now

답변2

서비스를 다시 시작하기 전에 제대로 중지될 때까지 몇 초 정도 기다려야 할 수도 있습니다. 다음 줄을 사용하여 스크립트를 지연시킬 수 있습니다

# waiting for 5 seconds
sleep 5

자세한 내용은 여기에서 확인하실 수 있습니다 -http://www.cyberciti.biz/faq/linux-unix-sleep-bash-scripting/

관련 정보