手動で実行できるJavaアプリケーションがあります。アプリケーションはローカル通信用に複数のポートを開くことがよくあります(7180 => 7183)。ポート7182はWebコンソールとして機能し、すべてが正常であることをすばやく確認できます。
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