java - 如何为java进程创建PID文件

标签 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/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

从这里开始:

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

关于java - 如何为java进程创建PID文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52599112/

相关文章:

linux - 如何在 shell 命令行(-e 开关)中将 gnuplot 与 awk 一起使用

Linux 服务应用程序创建文件的权限

linux - 如果 find 不为空,如何显示 true

linux - 在 Linux 上安排一条 zenity 消息

bash - 将修改的文件列表放入 git 提交消息中

java - 这里需要 volatile 吗?

java - 如何让 Android 应用程序 ( cccleaner) 每 3 分钟自动运行一次?

java - 将任何玩家下方的方 block 设置为萤石,然后将其设置回原始 Material

Java 提示我还没有实现一个方法

linux - 访问在终端中键入的命令的历史记录