RedHat守护进程功能用法

qui*_*tin 14 linux bash redhat daemon init

我正在为RHEL上的Jetty创建一个init脚本.试图使用daemoninit library(/etc/rc.d/init.d/functions)提供的功能.

我找到了这个简洁的文档一个在线示例(我也一直在查看系统上的其他init脚本).

从在线查看此片段以启动守​​护程序

daemon --user="$DAEMON_USER" --pidfile="$PIDFILE" "$DAEMON $DAEMON_ARGS &"
RETVAL=$?
pid=`ps -A | grep $NAME | cut -d" " -f2`
pid=`echo $pid | cut -d" " -f2`
if [ -n "$pid" ]; then
        echo $pid > "$PIDFILE"
fi
Run Code Online (Sandbox Code Playgroud)

为什么要费心查找$PID并手写$PIDFILE?我想我想知道--pidfiledaemon功能选项的重点是什么.

jna*_*nas 11

要回答你猜你有的问题,--pidfile是否用于检查守护程序进程是否已经运行.在RHEL(和派生)上,该daemon函数不会写入pid文件.

在程序停留在前台的情况下,必须通过附加&命令将其显式发送到后台,然后必须获取pid.$!使用时不可用daemon.

  • deamon命令不写入pid文件,并且不对程序进行妖魔化,这似乎很奇怪。 (2认同)