【发布时间】:2018-11-01 21:42:27
【问题描述】:
我有一个 python 脚本(需要很长时间才能完成执行),我需要运行多次以改变参数。它在远程机器上执行。出于实例和测试目的,请使用以下脚本test.py:
import time
print("\nStart time: {}".format(time.ctime()))
time.sleep(10)
print("End time: {}".format(time.ctime()))
为此,我通常使用nohup。使用以下命令执行一次就可以了:
nohup test.py &
输出正确保存在nohup.out 文件中。为了按顺序运行,我做了一些研究,发现 [this question][1] 并且我想出了以下命令:
nohup $(python test.py; python test.py) &
效果很好。我运行命令,快速注销并再次登录,并看到htop 第一个执行正在运行,然后完成,然后第二个开始。但问题是输出没有保存到nohup.out 文件中。如果我在终端等待两次执行完成,则会显示以下错误:
nohup:无法运行命令“开始”:没有这样的文件或目录
我在这里做错了什么?
PS.:
我需要记录输出,因为我需要查看脚本的当前进度并知道如果它没有正确完成会发生哪个错误。因此,如果有其他命令可以使用而不是 nohup 可以记录 python print 的,它也会受到欢迎。
【问题讨论】:
标签: python logging remote-server nohup