几天前,我买了一台VDS服务器,只是为了让一些电报机24小时工作。
我不能总是打开shell,所以我决定使用这个“黑客”:
#!/usr/bin/python3.4sudo chmod u+x mybot.py sudo nohup ./mybot.py &脚本成功启动并运行良好,但在8-10小时内,它最终停止响应!不过,我在ps -aux输出中看到了这一点。为了确定这是VDS的问题,我已经在我的ODroid-C1微型计算机上启动了一天的机器人。没有发现问题,两个脚本都正常工作。
主要的问题是我不知道为什么这些VDS上的机器人会停止响应。有什么办法能查出来吗?
ODroid和VDS都安装了Ubuntu14.04。
发布于 2015-07-07 20:09:25
您可以尝试其他两种方法:
第一种方法是使用屏幕:
sudo apt-get install screen然后启动屏幕运行相同的命令,并在没有nohup的“屏幕”中运行脚本。
sudo ./mybot.pyCtrl+A Ctrl+D与屏幕分离,与ssh会话断开连接。下次当您看到应用程序挂起时,请键入
screen -r若要附加已运行python应用程序的屏幕会话,请执行以下操作
第二,添加从脚本的stdout和stderr重定向到日志文件(S)
sudo nohup ./mybot.py >> /var/log/mybot_out.log 2>>/var/log/mybot_err.log &或合并成一个文件:
sudo nohup ./mybot.py >> /var/log/mybot_out.log 2>>&1 &然后在下一次挂断后调查日志文件。
编辑:如果您看不到从应用程序输出到stdout的任何有用的东西,那么当它挂起时,stderr --安装strace,并将它附加到您的脚本处理中:
strace -p <PID>也许你能从中找到有用的东西。如果没有显示任何有用的内容(再次)--从strace重新启动应用程序。
... strace ./mybot.py如果您有足够的空闲空间,输出到日志文件更好。然后调查最后数千行日志(可能包含许多重复的日志)
https://serverfault.com/questions/704172
复制相似问题