我想创建一个 crontab 条目,以便它启动屏幕、启动游戏服务器并分离。这是因为如果服务器重新启动,我希望它自动为我启动这些。
0 0 0 0 0(命令)
应在启动时运行。
它运行位于 ~/cube/server.sh 的 shell 文件
答案1
类似这样的方法应该可以工作。此示例生成一个屏幕并运行“top”:
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)
答案2
这应该足够了...运行
$ crontab -e
然后输入:
@reboot screen -dmS Victor
答案3
答案4
我遇到过类似的情况,但由于其他不合理的限制,我无法使用 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
这样,它在启动时就会启动,如果程序死机或屏幕关闭,它就会重新启动。这可能不被认为是常规做法,但我不得不解决一些奇怪的环境要求。但如果我们需要将其关闭,我们必须注释掉该行,然后终止会话。然后,当准备将其重新启动时,取消注释,然后初始化 q。