Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为java进程创建PID文件_Java_Linux_Bash_Daemon_Start Stop Daemon - Fatal编程技术网

如何为java进程创建PID文件

如何为java进程创建PID文件,java,linux,bash,daemon,start-stop-daemon,Java,Linux,Bash,Daemon,Start Stop Daemon,我正在尝试创建一个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/log

我正在尝试创建一个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文件

从一个简短的在线搜索来看,daemon似乎并没有真正编写pid文件。但是,类似这样的方法应该有效:

su -c "$PROGRAM $PROGRAM_ARGS >/dev/null 2>&1 &"
PID=$!
echo $PID > $PIDFILE
从这里开始:


从一个简短的在线搜索来看,基本上,
daemon
并没有真正编写pid文件。但是,类似这样的方法应该有效:

su -c "$PROGRAM $PROGRAM_ARGS >/dev/null 2>&1 &"
PID=$!
echo $PID > $PIDFILE
从这里开始:


Java可以,因此Java程序可以编写自己的PID文件。我想您需要
|echo$$PIDFILE
在最后(使用
|
而不是
&
)Java可以,因此Java程序可以编写自己的PID文件。我想您需要
| echo$$PIDFILE
位于末尾(使用
|
而不是
&