解决了:
我通过在执行脚本之前引入延迟来解决这个问题:@reboot sleep 60; /root/start_server.sh
在 Ubuntu 14.04 上,我有一个 crontab 条目设置为在重新启动时运行:
@reboot /root/start_server.sh
这是start_server.sh
:
screen -dmS server bash -c "cd server ; ./run.sh"
当系统启动时,run.sh
确实执行了,并且服务器保持运行状态,但是当我输入 时没有会话screen -ls
。因此,我无法在启动后访问我的服务器进程。
我名为“服务器”的会话发生了什么?如果它以某种方式终止,我该如何防止这种情况发生?
我尝试根据答案exec bash
添加start_server.sh
这里,但没有任何效果。