使nohup写入nohup.out以外的内容

时间:2018-08-09 23:26:28

标签: bash shell nohup

我一直在使用下面的命令来使尾部写出nohup.out并在终端上打印输出。

nohup train.py & tail -f nohup.out

但是,我不需要nohup来使用不同的文件名

当我尝试

nohup python train.py & tail -F vanila_v1.out

我收到以下错误消息。

tail: cannot open 'vanila_v1.out' for readingnohup: ignoring input and appending output to 'nohup.out': No such file or directory

我也尝试过 nohup python train.py & tail -F nohup.out > vanila_v1.txt

然后它不会在stdout上写输出。

nohup.out之外,我如何使nohup写作?我不介意同时编写两个不同的文件。但是要跟踪不同的流程,我需要使用不同的名称。 谢谢。

1 个答案:

答案 0 :(得分:2)

您需要使用STDOUTSTDERR来传递nohup命令,例如:

$ nohup python train.py > vanila_v1.out 2>&1 & tail -F vanila_v1.out

这时,该过程将进入后台,您可以使用tail -f vanila_v1.out。那是做到这一点的一种方法。

此处有STDOUTSTDERR https://pub.dartlang.org/packages/path_provider的更多信息。这是另一个link,它使用tee命令而不是>来一次性实现相同的目标。