我一直在使用下面的命令来使尾部写出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写作?我不介意同时编写两个不同的文件。但是要跟踪不同的流程,我需要使用不同的名称。
谢谢。
答案 0 :(得分:2)
您需要使用STDOUT
和STDERR
来传递nohup命令,例如:
$ nohup python train.py > vanila_v1.out 2>&1 & tail -F vanila_v1.out
这时,该过程将进入后台,您可以使用tail -f vanila_v1.out
。那是做到这一点的一种方法。
此处有STDOUT
和STDERR
https://pub.dartlang.org/packages/path_provider的更多信息。这是另一个link,它使用tee命令而不是>
来一次性实现相同的目标。