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?我想我想知道--pidfile该daemon功能选项的重点是什么.
jna*_*nas 11
要回答你猜你有的问题,--pidfile是否用于检查守护程序进程是否已经运行.在RHEL(和派生)上,该daemon函数不会写入pid文件.
在程序停留在前台的情况下,必须通过附加&命令将其显式发送到后台,然后必须获取pid.$!使用时不可用daemon.