首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步init.d脚本

异步init.d脚本
EN

Ask Ubuntu用户
提问于 2017-03-25 02:48:54
回答 2查看 637关注 0票数 0

我想知道启动脚本是否可以在Ubuntu中持续运行。我所想到的是类似于一个不断运行的Min克拉夫特服务器脚本,这样如果服务器因某种原因崩溃,我可以再次运行这个命令并重新启动它。因此,基本上,我有一个命令来运行我的Min克拉夫特服务器,在一个while循环中。

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2017-03-26 00:50:22

最后我找到了,它回答了我的问题。

票数 0
EN

Ask Ubuntu用户

发布于 2017-03-25 03:23:09

有几种方法可以做到这一点。这个答案是我个人比较喜欢的。这是一个快速而肮脏的答案。但从你的问题上,我想这就是你想要的。

1创建在循环中执行所需任务的脚本。例如:

代码语言:javascript
复制
while [ 1 ]; do
    echo `date` >> /some/file/somewhere
    sleep 1
done

2创建第二个脚本,检查第一个脚本是否正在运行。如果没有,运行它:

代码语言:javascript
复制
VAR=`ps -ef |grep "name_of_script_1" |wc -l`
#VAR returns 1 if not running (because grep returns itself), 
#    2 if it is running.  
if [ "${VAR}" -eq "1" ]; then
    /run/script/1 &
fi

3在某个时间间隔内运行cron中的第二个脚本,类似于每5分钟运行一次。

代码语言:javascript
复制
*/5 * * * * root /run/script/2

因此,每隔5分钟,script2就会检查脚本1是否正在运行。如果没有运行,则启动它并将其抛到后台。

在互联网上有很多文章可以帮助你处理特定的元素(在cron中运行一些东西,同时/如果语法,把程序放到后台等等),但是这应该能让你接近你想要的东西。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/896628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档