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


23

我正在使用bash外壳。我经常nohup用来确保在关闭启动它们的外壳程序/终端时不会停止我的进程。我使用如下语法:

nohup myprocess

启动时,显示nohup以下消息:

nohup: ignoring input and appending output to 'nohup.out'

然后,nohup不再向屏幕输出;它全部被写入nohup.out

但是,我经常希望监视我的计算进度。我可以通过nohup.out使用vi或进行读取tail,但是这样做会很费时间,尤其是在我的计算需要花费几个小时的时候。

有什么办法,我可以打印输出到两个 nohup.out(如果我失去互联网连接,从而启动进程被关闭终端),并在屏幕上?谢谢你的时间。


3
您是否考虑过使用screentmux代替nohup?
derobert 2012年

@derobert谢谢。我已经screen安装了系统,但是从未使用过。tmux我的系统上没有,但是我可以尝试获得它。
安德鲁(Andrew)

2
只需启动screen/ tmux在登录和启动之间即可myprocess。然后从它分离prefixdscreen的前缀是Ctrl-A,而tmux的前缀是Ctrl-B。您可以注销,但是只要机器保持启动状态,您的screen/ tmux会话也将退出。下次登录时,可以通过或重新连接screen/ tmuxshell 。screen -rtmux attach
jw013

Answers:


20

你可以跑

nohup yourprocess & tail -f nohup.out

tail -f很酷,很遗憾,我的未能正确显示控制字符
Adam Hunyadi

如果您想将nohup.out更改为其他内容,请说run.log,然后按照它进行操作,请使用nohup myprocess> run.log 2>&1&tail -f run.log
Prajwel

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.