나는 다음을 사용하여 Jetty와 함께 Solr를 설치하고 있었습니다.이 지침. 기본적으로 해당 지침에 따르면 Jetty 시작 스크립트를 다운로드하여 /etc/init.d/jetty에 복사했습니다.
그러나 그것은 작동하지 않았습니다. Jetty를 시작할 때마다 "FAILED" 메시지가 표시되었지만 왜 그런 일이 발생했는지 이해할 수 있는 내용이 없었습니다. 나는 무슨 일이 일어나고 있는지 이해하기 위해 /etc/init.d/jetty 스크립트를 열기로 결정했습니다. 나는 이 스크립트가 부두를 시작하기 위해 start-stop-daemon을 사용하고 있다는 것을 보았습니다. 몇 번의 디버깅 후에 --daemon
start-stop-daemon 호출이 끝날 때 옵션을 제거하면 문제가 해결된다는 사실을 발견했습니다.
나는 몇 가지 연구를 했고 그것을 발견했습니다.이 사람도 같은 문제가 있었어내가 했던 것처럼 문제를 해결했습니다. --daemon
옵션을 제거했습니다.
이상한 점은 스위치가 맨 페이지에 문서화되어 있지 않기 때문에 스위치가 start-stop-daemon에만 국한되지 않는 것 같습니다. 또한 다른 명령에도 사용되는 것을 보았습니다.
그렇다면 그 --daemon
옵션은 무엇을 하는 걸까요? 그리고 그것을 제거하면 내 문제가 해결된 이유는 무엇입니까?
저는 Ubuntu 10.04.2 LTS에서 작업하고 있습니다.
답변1
나는 아직도 --daemon 플래그가 무엇인지 모르고 답을 찾지 못했습니다. 내 경험에 따르면 --daemon 플래그가 옵션으로 명령에 추가되는 것처럼 보였습니다. 명령이 실패하여 아무 일도 일어나지 않습니다. 귀하의 경우 -b 옵션을 사용하면 프로세스가 분기되어 새로운 표준 오류 및 출력이 발생한다고 생각하므로 --daemon 플래그로 인한 결과 오류가 표시되지 않습니다. -b 옵션은 또한 start-stop-daemon이 프로세스 실패 여부를 알지 못하도록 방지합니다.