简体   繁体   English

如何为Java进程创建PID文件

[英]how to create a PID file for a java process

I'm attempting to create a PID file like below: 我正在尝试创建如下的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"

the PID file is empty though, so how do I create/populate a PID file ? PID文件为空,那么如何创建/填充PID文件呢?

Basically, it seems daemon doesn't really write pid files, from a brief search online. 基本上,通过简短的在线搜索, daemon似乎并没有真正写入pid文件。 However,something like this should work: 但是,这样的事情应该起作用:

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

From here: 从这里:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM