Python 如何在后台使用TQM运行脚本

Python 如何在后台使用TQM运行脚本,python,tqdm,Python,Tqdm,下面是一个使用tqdm进度条的简单脚本: from tqdm import tqdm from time import sleep for i in tqdm(range(10000)): sleep(1) 有时我想让它在我的服务器上运行并退出。当然,在这种情况下,我对进度条并不感兴趣。我这样做: $ python mytest.py & $ disown $ exit 但一旦我退出,这个过程就停止了。为什么会发生这种情况?该怎么办?我想答案可能会被提及 调用disown不会完

下面是一个使用
tqdm
进度条的简单脚本:

from tqdm import tqdm
from time import sleep

for i in tqdm(range(10000)):
  sleep(1)
有时我想让它在我的服务器上运行并退出。当然,在这种情况下,我对进度条并不感兴趣。我这样做:

$ python mytest.py &
$ disown
$ exit

但一旦我退出,这个过程就停止了。为什么会发生这种情况?该怎么办?

我想答案可能会被提及

调用
disown
不会完全断开进程与终端的连接。由于
sys.stdin
sys.stout
sys.stderr
都是从shell继承的,因此如果终端被破坏,脚本将在尝试打印到标准错误时失败,而
tqdm
正是尝试这样做的

我不知道您是否正在运行子shell,或者
exit
命令是否会破坏终端。如果后者为真,这可能解释了进程终止的原因。您也许可以尝试将所有终端输出设置为
/dev/null
,看看这是否有帮助