代码之家  ›  专栏  ›  技术社区  ›  Simply Seth

如何为java进程创建PID文件

  •  0
  • Simply Seth  · 技术社区  · 6 年前

    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文件?

    1 回复  |  直到 6 年前
        1
  •  2
  •   mjuarez    6 年前

    基本上,看起来 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