gpt4 book ai didi

multithreading - 编写一个 bash 脚本来重启一个守护进程

转载 作者:行者123 更新时间:2023-12-03 13:20:55 25 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。

9年前关闭。




Improve this question




我想我可以使用这个相关的问题:How Do I write a bash script to restart a process if it dies . @lhunath 有一个很好的答案,并告诉我我可能做的一切都是错误的,但我正在重新启动一个守护进程,如果我希望我可以在一个有效的脚本中做一些事情。

我的进程以显示启动日志的启动脚本开始,但随后退出并离开 shell 运行进程:

>sudo ./start
R CMD Rserve --RS-conf /var/FastRWeb/code/rserve.conf --vanilla --no-save
...
Loading required package: FastRWeb
FastRWeb: TRUE
Loading data...
Rserv started in daemon mode.
>

该过程已启动并运行,

ps -ale | grep Rserve 1 S 33 16534 1 0 80 0 - 60022 poll_s ? 00:00:00 Rserve



是否有一种简单的方法可以从 bash 包装或调用“启动”脚本并在进程终止时重新启动,或者这是实际调用 PID 文件的情况?

Dang - 即使在指向一个在stackoverflow上没有关闭的非常相似的问题之后,问题也被关闭了。你们真烂

最佳答案

监视程序的一个非常简单的方法是使用 cron:每分钟(左右)检查程序是否还活着,./start否则。

以 root 身份调用 crontab -e .

像这样附加一行:

* * * * * if ! pidof Rserve 2>&1 >/dev/null; then /full/path/to/start; fi

此方法将保持持久性,即它将在重新启动等后执行。如果这不是您想要的,请将其移至 shell 脚本:
#! /bin/bash
# monitor.sh
while true; do
if ! pidof Rserve 2>&1 >/dev/null; then /full/path/to/start; fi
sleep 10
done

该脚本必须从命令行手动启动,并且可以使用 Ctrl-C 轻松停止。

关于multithreading - 编写一个 bash 脚本来重启一个守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877607/

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