Init 脚本部分启动 java 应用程序

Init 脚本部分启动 java 应用程序

我有一个java应用程序,我设法手动执行。应用程序通常会打开多个端口用于本地通信 (7180 => 7183)。端口 7182 充当 Web 控制台,让我可以快速检查一切是否正常。

java -cp $ARCHIVES -Djava.security.policy=$POLICY -Dconfigfile=$CONFIG_FILE $CLASS

一旦我将其放入初始化脚本中,端口就不会打开,但应用程序以某种方式设法以以下消息启动:“死机或回显端口未响应”。

这是我的初始化脚本中的启动-停止-守护进程行:

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以确保您的问题不是权限问题。

相关内容