崩溃时自动重启SH脚本?

时间:2014-09-12 20:28:20

标签: bash shell ubuntu

大家好我有一台服务器运行我创建的游戏,它有三个SH脚本需要在不同的终端运行,所以我想知道的是两件事。

1:有没有办法可以获得单个脚本,我双击并启动所有三个脚本到我可以看到shell的地方(用于调试)

2:有没有办法让这些脚本在退出或崩溃时自动重启? (用于服务器无人值守的完全自动访问)

服务器规格: 6GB RAM 60gb SSD 6核CPU Ubuntu 14.04 使用vnc进行桌面控制

1 个答案:

答案 0 :(得分:1)

这是一个SH脚本。

running=1

finish()
{
    running=0
}

trap finish SIGINT

while (( running )); do
    // Execute the command here that starts your server.
    echo "Restarting server on crash.."
    sleep 5
done

您可以为其自己的screen中的每个服务器运行此脚本。这样你就可以看到每一个的控制台输出。例如:

screen -S YOURUNIQUENAME -m THESCRIPTABOVE.sh

要从屏幕上分离,请按CTRL + A然后按CTRL + D.您可以使用screen -x YOURUNIQUENAME

返回到屏幕

有关使用screen命令的精彩指南,请参阅此文章:http://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/。它甚至还有一个视频来展示它是如何使用的。