这是一个使用tqdm
进度条的简单脚本:
from tqdm import tqdm
from time import sleep
for i in tqdm(range(10000)):
sleep(1)
有时我想让它在我的服务器上运行并退出。当然,在那些情况下,我对看到进度条并不感兴趣。我这样做:
$ python mytest.py &
$ disown
$ exit
但是一旦我退出,过程就会停止。为什么会发生这种情况以及如何应对呢?
答案 0 :(得分:1)
我认为答案可能会提到here。
调用B=np.zeros((400,300,60))
C=np.zeros((400*300*60))
B=np.amax(A,axis=3)
A=np.ravel(A)
A=A.tolist()
B=np.ravel(B)
B=B.tolist()
for i in range(0,400*300*60):
C[i]=A.index(B[i])
使不完全断开进程与终端的连接。由于disown
,sys.stdin
和sys.stout
是从shell继承的,如果终端被销毁,脚本会在尝试打印到标准错误时失败,{{1}试图这样做。
我不知道你是在运行子shell还是sys.stderr
命令会破坏终端。如果后者是真的,那么这可以解释为什么该过程终止。您也许可以尝试redirect所有终端输出到tqdm
,看看是否有帮助?