我有一个python脚本,它将检查队列并对每个项目执行操作:
# checkqueue.py
while True:
check_queue()
do_something()
Run Code Online (Sandbox Code Playgroud)
如何编写一个bash脚本来检查它是否正在运行,如果没有,则启动它.大概下面的伪代码(或者它应该做类似的事情ps | grep?):
# keepalivescript.sh
if processidfile exists:
if processid is running:
exit, all ok
run checkqueue.py
write processid to processidfile
Run Code Online (Sandbox Code Playgroud)
我将从crontab中调用它:
# crontab
*/5 * * * * /path/to/keepalivescript.sh
Run Code Online (Sandbox Code Playgroud) 我将这个问题放在stackoverflow上,因为我已经在这里找到了很多有关该主题的问题。
简短介绍
简单地说,nohup可用于在后台运行应用程序,并在用户注销或关闭终端或ssh会话后保持其运行,例如
这里有很多关于stackoverflow的示例问题,例如this或that。
我的问题很简单。
为什么选择了nohup,当有类似的选项upstart,systemd......其管理的应用作为服务于更方便的方式(运行级别,...)?
阅读有关相似主题的许多问题,唯一的选择似乎是nohup。几乎从来没有答案是这样的:“ ...使用暴发户脚本,因此一切都由您完成...”
我主要使用eg upstart,除了可能用于快速而肮脏的测试场景。
我缺少重要的东西吗?