nohup 多个顺序命令不记录输出

海默森炸玉米饼

我有一个 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可以记录 pythonprint的,它也会受到欢迎。

赖瑞恩

您拥有的命令:

nohup $(python test.py; python test.py) &

将尝试执行脚本的输出。这可能不是你想要的。

您在这里想要的是让 nohup 启动一个命令,该命令将按顺序执行这两个命令。可以执行此操作的最直接的程序是使用运行子 shell:

nohup bash -c "python one.py; python two.py" &

至于更好的方法,您可能需要研究 tmux 或 screen。如果您在 tmux/screen 中启动命令,不仅可以将会话与当前正在运行的 shell 分离,还可以稍后重新连接到会话以恢复并与程序交互。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何“ nohup”命令并记录“ time”的输出

来自分类Dev

在 nohup 上运行顺序命令

来自分类Dev

nohup命令无法将输出打印到nohup.out

来自分类Dev

无法安装 nohup 命令

来自分类Dev

如何使用nohup执行多个命令

来自分类Dev

告诉nohup实时写入输出

来自分类Dev

nohup命令的功能是什么?

来自分类Dev

从nohup命令检索进程信息

来自分类Dev

nohup:忽略输入并将输出附加到“ nohup.out”

来自分类Dev

nohup:忽略输入并将输出附加到“ nohup.out”

来自分类Dev

运行nohup命令后如何查看输出控制台?

来自分类Dev

Nohup下奇怪的Ruby输出滞后?

来自分类Dev

Nohup下奇怪的Ruby输出滞后?

来自分类Dev

nohup与简单输出重定向之间的区别

来自分类Dev

在不同的输出上使用nohup和时间

来自分类Dev

嵌套的nohup错误处理输出

来自分类Dev

ssh会话之间nohup进程不持久

来自分类Dev

bash nohup有两个命令

来自分类Dev

bash nohup有两个命令

来自分类Dev

尽管使用了`nohup`,命令仍然退出

来自分类Dev

nohup:无法运行命令“。”:权限被拒绝

来自分类Dev

stdin使用nohup输入到命令

来自分类Dev

我可以从tcsh运行nohup命令吗

来自分类Dev

UNIX中的nohup命令的退出代码问题

来自分类Dev

在命令之前使用shell变量进行Nohup

来自分类Dev

nohup是否可以将输出既写入文件nohup.out又写入屏幕/终端?

来自分类Dev

是否可以将nohup输出重定向到nohup.out以外的日志文件?

来自分类Dev

为什么“ nohup top”会剪切输出线?

来自分类Dev

使用&和输出重定向而不是nohup安全吗?