我想创build一个crontab条目,以便它启动屏幕,启动游戏服务器并分离。 这是为了防止服务器重新启动,我希望它自动为我启动。
0 0 0 0 0(指令)
应该在启动时运行。
它运行一个位于〜/ cube / server.sh的shell文件
像这样的东西应该工作。 这个例子产生一个屏幕,并运行“顶部”:
screen -d -m top
在你的crontab中,如上所示,你会想要做这样的事情:
@reboot /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver
当然,如果游戏服务器需要“正常”的环境设置,你可以通过以下途径获得更近的距离:
@reboot (. ~/.profile; /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver)
这应该是足够的…运行
$ crontab -e
然后input:
@reboot screen -dmS Victor
为了完整起见,也可以使用tmux来代替screen (请参阅此链接进行比较):
@reboot tmux new-session -d -s yourNameOfTheSession "your command to run"
我有类似的情况,但由于其他不合理的限制,我不能使用crontab。 我实际上有inittab调用屏幕。 (把一些名字换成了模糊的信息):
XXX:5:respawn:/bin/su - useraccount -c "screen -D -m -c /home/xxxxxx/file.screenrc"
在'file.screenrc'是我设置几个选项:
sessionname obscuresessionname multiuser on cd screen /home/xxxxxxx/programtostart
这种方式启动时,如果程序死亡或屏幕closures,它会重生。 它可能不被认为是传统的,但我不得不围绕几个奇怪的环境要求。 如果我们需要把它拿下来,我们将不得不评论这一行,并杀死会议。 然后当准备好将其恢复时,取消注释,并启动q。