수동으로 실행할 수 있는 Java 애플리케이션이 있습니다. 애플리케이션은 로컬 통신을 위해 여러 포트를 여는 경우가 많습니다(7180 => 7183). 포트 7182는 웹 콘솔 역할을 하여 모든 것이 정상인지 빠르게 확인할 수 있습니다.
java -cp $ARCHIVES -Djava.security.policy=$POLICY -Dconfigfile=$CONFIG_FILE $CLASS
초기화 스크립트에 넣으면 포트가 열리지 않지만 응용 프로그램은 "Dead or echo port not response"라는 메시지와 함께 시작됩니다.
내 초기화 스크립트의 시작-중지-데몬 라인은 다음과 같습니다.
start-stop-daemon --start --chuid thomas --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
애플리케이션이 반쯤 시작된 것을 설명할 수 있는 수동 실행과 스크립트 실행의 차이점은 무엇입니까?
추가 정보로, 신청서는 다음과 같습니다.SIPS 오피스 서버(결제 솔루션).
답변1
게시한 내용에 따르면 접근 방식이 좋아 보입니다. 다음 줄을 사용하여 샘플 초기화 스크립트를 찾았습니다.
start-stop-daemon --oknodo --start --quiet --chuid $USER --pidfile $PIDFILE \
--exec $DAEMON -- --pid-file $PIDFILE
이는 문서에서 직접 가져온 것입니다: /etc/init.d/speech-dispatcher
.
나는 특별한 주의를 기울이고 문제가 권한 문제가 아닌지 확인하기 위해 pidfile
사용자에게 읽기/쓰기 액세스 권한이 있다고 확신하는 경로로 수동으로 지시할 수도 있습니다 .thomas