gpt4 book ai didi

linux - 我如何将pid写入文件

转载 作者:太空狗 更新时间:2023-10-29 11:29:16 24 4
gpt4 key购买 nike

我知道这很容易,但我想不通。我们想在一台机器上运行两个 luigi 实例,因此需要修改 init.d 脚本以将 PID 写入文件,而不是仅仅接触空文件。

echo -n $"Starting luigid scheduler as $LUIGID_USER: "
( ( /usr/bin/sudo -u $LUIGID_USER $LUIGID_BIN >>/var/log/luigid/server.log 2>&1 ) &)
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/luigid && echo_success || echo_failure
echo
return $RETVAL

目前它只是接触空的 PID 文件。我希望它将 PID 写入文件。同样在停止时我想通过存储在 PID 文件中的 PID 杀死

echo -n $"Stopping luigid scheduler: "
killproc luigid
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/luigid && echo_success || echo_failure
echo

有什么帮助吗?

谢谢

最佳答案

可以通过$!获取上一条命令的PID

将启动脚本更改为:

echo -n "Starting luigid scheduler as $LUIGID_USER: "
/usr/bin/sudo -u $LUIGID_USER $LUIGID_BIN >>/var/log/luigid/server.log 2>&1 &
RETVAL=$?
PID=$!
[ $RETVAL -eq 0 ] && echo $PID > /var/lock/subsys/luigid && echo_success || echo_failure
echo
return $RETVAL

请注意,当命令在子 shell 中启动程序时,您需要删除命令周围的括号。子 shell 不会将启动程序的 PID 返回给你的 shell,所以你应该直接从你的 shell 调用它。

关于linux - 我如何将pid写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27109364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com