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

我有一个在Linux服务器上运行的代码。 由于需要花费数小时才能运行,所以我必须使用nohup来确保我的代码仍在运行,以防我连接到服务器。 再次,因为我不得不等待几个小时才能看到结果,我定义了一个计数器来打印出我的代码(%)的进度。 如果我失去了与服务器的连接或closuresterminal,那么我可以看到代码仍在运行的唯一方法就是使用top 。 有什么方法可以再次看到输出控制台(消息显示进度)?

您可以将标准输出和标准错误重定向到一个文件并查看该文件。 例如:

 nohup command 2>&1 > outputfile & 

请注意手册页中的默认行为:

如果标准输出是一个终端,如果可能的话将输出附加到“nohup.out”,否则附加“$ HOME / nohup.out”。 如果标准错误是终端,则将其重定向到标准输出

所以你真的可以跑

 nohup command & 

然后看nohup.out

您可以通过从另一个终端下面运行来实时查看输出。

 tail -f nohup.out