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

MTT*_*MTT 18 linux terminal nohup

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

yfp*_*fpb 41

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

tail -f nohup.out
Run Code Online (Sandbox Code Playgroud)

  • 确保它与 nohup 命令在同一目录中执行,因为该命令读取在该目录中生成的输出形式 nohup.out。惊人的。谢谢! (3认同)

小智 15

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

nohup command 2>&1 > outputfile &
Run Code Online (Sandbox Code Playgroud)

注意手册页的默认行为:

如果标准输出是终端,则在可能的情况下将输出附加到'nohup.out',否则为'$ HOME/nohup.out'.如果标准错误是终端,则将其重定向到标准输出

所以你真的可以跑了

nohup command &
Run Code Online (Sandbox Code Playgroud)

然后看看nohup.out