1
所以我写这个剧本叫py_script.py,我跑了SSH会话学校的机器上:如果我运行以下脚本,我的ssh会话是否不会终止?
import time
import os
while True:
os.system("echo still_alive")
time.sleep(60)
...这样做:
bash $ python py_script.py &
。
这是为了防止可怕的broken pipe
消息发生?
问题是,经过一段时间不活动,当我通过SSH连接时,我的连接将被丢弃。为了防止这种情况发生,我编写了上面的脚本,它会自动将消息写入控制台以计算“操作”,以便我不必每5分钟按一次输入。 (我在一台机器上闲置,需要运行一段时间。)
是的,这将起作用......虽然你可以使用一个单线程的shell脚本,比如'while true;活着回声;睡60; done'。这可能不是你想要做的。 (你真的想在你的有用程序的输出中间在你的控制台中随机吐出“still_alive”吗?) – abarnert 2014-09-06 01:04:29
我明白你在说什么了。但是,下面的解决方案在过去并不适合我,所以我想我会做这样的事情。从本质上讲,我想知道的是,如果在后台运行程序(例如“cd。”)做任何事情都会使会话保持活跃状态。 – user3806744 2014-09-06 20:11:06
这取决于为什么会话正在关闭......我不能保证你在做什么(通过线路触发会话的输出)会保持活动状态,但在后台运行程序甚至不会那样做的可能性就更小了。 – abarnert 2014-09-08 01:00:30