我有一个在Linux服务器上运行的代码。由于它需要运行数小时,我必须使用nohup
确保即使我失去与服务器的连接,我的代码仍然在运行。同样,由于我必须等待数小时才能看到结果,我定义了一个计数器来打印代码的进度(%)。如果我失去与服务器的连接或关闭终端,唯一可以看到代码仍在运行的方法是使用top
。是否有任何办法可以再次查看输出控制台(显示进度的消息)?
我有一个在Linux服务器上运行的代码。由于它需要运行数小时,我必须使用nohup
确保即使我失去与服务器的连接,我的代码仍然在运行。同样,由于我必须等待数小时才能看到结果,我定义了一个计数器来打印代码的进度(%)。如果我失去与服务器的连接或关闭终端,唯一可以看到代码仍在运行的方法是使用top
。是否有任何办法可以再次查看输出控制台(显示进度的消息)?
你可以在另一个终端运行以下命令以实时查看输出。
tail -f nohup.out
nohup.out
文件? - kaushalpranavnohup
时会创建一个新的文件。否则,nohup
将继续将日志追加到现有文件中。至少在我测试的情况下是这样的。 - yfpbnohup command 2>&1 > outputfile &
注意man页中的默认行为:
如果标准输出是终端,则将输出附加到“nohup.out”(如果可能);否则附加到“$HOME/nohup.out”。如果标准错误是终端,则将其重定向到标准输出。
因此,您实际上只需运行
nohup command &
然后查看nohup.out文件