0

在我的应用程序的启动脚本中,该服务使用以下几行启动:

JVM_OPTS=$DEFAULT_JVM_OPTS" "$JAVA_OPTS" "$${optsEnvironmentVar}" -Dapp.pid=$$ -Dapp.home=$APP_HOME -Dbasedir=$APP_HOME"

exec nohup "$JAVACMD" -jar $JVM_OPTS <% if ( appNameSystemProperty ) { %>\"-D${appNameSystemProperty}=$APP_BASE_NAME\" <% } %> $CLASSPATH server /resources/config.yml >  /home/testUser/stdout.out 2>  /home/testUser/stderr.err &

应用程序启动良好,但在代码审查中,我们注意到 -Dapp.pid 的值不正确,通过检查它ps -aux | grep appName并将其与该命令的 PID 以及 输出的 PID 进行比较pgrep -f appName。我想知道是否有任何方法可以为参数分配正确的 PID。到目前为止,我已经尝试将其设置为:

-Dapp.pid=`preg -f appName`

但这最终导致 -Dapp.pid 为空白,我认为这是由于它在 exec 完全运行之前调用了该命令。有没有其他人遇到过这个?

4

0 回答 0