在进行Python开发时,每周都会遇到这个问题。无论是在Linux的Bash、cmd.exe还是Powershell中,Python脚本有时会暂停其输出,导致人们认为它们可能已经死机。当按下ctrl-c时,控制台输出将恢复,并且很明显该脚本一直在后台执行。就像按下了滚动锁定键或其他什么东西。
程序并不重要,只能随着时间的推移而再现。您可以运行以下代码片段:
import time
i = 0
while True:
print i
i++
time.sleep(1)
接下来的一周左右,控制台会暂停,尽管 i 在后台每秒都在增加。
这不仅是我设计不良 - 我曾经遇到过 Celery 进程、Django 测试服务器以及自己的程序出现这种情况。通常我只会把它视为“烦恼”,但如果程序真的非常忙碌,ctrl-c 也可能意外终止程序。
我的同事们也遇到了这种情况,但似乎没有人知道该怎么办。
有人有解决方法吗?
谢谢!
i++
,这是无效的语法。请注意,这里不是解释,而是翻译成通俗易懂的中文。 - Fred Larson