以下程序:
import time
import random
while True:
t=time.time()+1.
f=0.
while time.time()<t:
f+=random.random()-.5
time.sleep(1.)
将永远运行,或者使用 100% 的处理器一秒钟,然后休眠一秒钟,然后永远继续这样做。当我从命令行运行程序时,它就是这样做的。当我从命令行运行程序后跟一个 & 字符时,它也在后台按预期工作 - 直到我关闭我用来启动它的终端应用程序,这导致它退出。当我关闭终端时,如何防止这种行为并让它继续运行?我将在远程服务器上运行类似的东西,当我断开连接时它也会退出程序。我可以判断它是否继续运行,因为顶部或系统监视器显示程序在 100% 处理器使用率和正常系统使用率之间循环。
* 编辑澄清 * 这不是我要运行的实际程序,在这里发布太长了,但它以类似的方式运行,花 5 分钟左右高度活跃,然后几分钟它什么都不做。它永远延续了这种模式。