【问题标题】:how to create a PID file for a java process如何为java进程创建PID文件
【发布时间】:2019-03-07 00:51:19
【问题描述】:

我正在尝试创建一个如下所示的 PID 文件:

LOCKFILE=/var/lock/ocr-trafficcop.lock
PIDFILE=/var/run/ocr-trafficcop.pid
JVM_ARGS="-Xms1024M -Xmx2048m -Dspring.config.location=/opt/app/configs/ocr-trafficcop/ -DserviceName=ocr-trafficcop -DAPP_ENV=int -Dlog.home=/opt/app/logs -Dservice.home=/opt/app"
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
PROGRAM=/usr/bin/java
PROGRAM_ARGS="$JVM_ARGS -jar $JAR_PATH"
#
. /etc/init.d/functions
#
daemon --user=$USER "$PROGRAM $PROGRAM_ARGS > /dev/null 2>&1 & echo $! > $PIDFILE"

PID 文件是空的,那么如何创建/填充 PID 文件?

【问题讨论】:

  • Java可以return its own pid,所以Java程序可以自己写PID文件。
  • 我想你想要|| echo $! $PIDFILE在最后(使用||而不是&

标签: java linux bash daemon start-stop-daemon


【解决方案1】:

基本上,从网上的简短搜索来看,daemon 似乎并没有真正编写 pid 文件。但是,这样的事情应该可以工作:

su -c "$PROGRAM $PROGRAM_ARGS >/dev/null 2>&1 &"
PID=$!
echo $PID > $PIDFILE

从这里开始:

https://kiennt.com/blog/2012/06/29/run-program-and-generate-pid.html

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 2021-11-29
    • 2016-10-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2014-10-10
    相关资源
    最近更新 更多