我有一个服务脚本,我很可能使用一些非常规方法来实现我想要的,但仍然应该可以工作,但不是。
在以下命令中,我将启动一个进程,将该进程的 PID 保存到 var $PID
,然后将变量写入 PID 文件。出于某种原因,尽管当我将 PID 保存到 时$PID
,写入 var 的 PID 是父脚本的 PID,而不是最后一个运行的命令。
如何在不做一些奇怪的ps -ef | grep
事情的情况下获得守护程序命令的 PID?
daemon --user $RHUSER "php -f $proc $ipaddr $port" >/dev/null 2>&1 &
PID=$!
[[ `ps h -p $PID` ]] && (success; echo $PID > /var/run/${proc%.*}.pid) || failure
echo