nohup
,以便我的进程不受挂断的影响。因此,如果要使程序program
不受挂断的困扰,请使用命令nohup program &
,其中
&
将进程置于后台。启动时,
nohup
给我以下消息:nohup:将输出附加到`nohup.out'
是否有任何发送方式输出到
nohup.out
以外的文件?通常,我想使用nohup
在同一目录中运行许多进程,但是如果执行此操作,则所有输出都将集中在一个nohup.out
文件中。手册页(例如,此处)似乎没有指定日志文件的选项。你能确认一下吗?另外,您对我如何解决此问题有任何想法吗?
#1 楼
GNU coreutilsnohup
手册页指示您可以使用常规重定向:如果标准输入是终端,请从/ dev / null重定向它。如果标准输出是终端,则将输出附加到“ nohup.out”(如果可能),否则附加到“ $ HOME / nohup.out”。如果标准错误是终端,请将其重定向到标准输出。要将输出保存到FILE,请使用“ nohup COMMAND> FILE”。
编辑:起初我没有阅读您的链接;您可能具有不同版本的
nohup
,尽管本节建议您仍然可以使用常规重定向: nohup.out The output file of the nohup execution if
standard output is a terminal and if the
current directory is writable.
您可以将标准输出和标准错误重定向到其他文件:
nohup myprogram > myprogram.out 2> myprogram.err
或相同的文件:
nohup myprogram > myprogram.out 2>&1
评论
这不是特定于GNU实用程序的,其行为由POSIX指定。
–吉尔斯'所以-不再是邪恶的'
2012年8月20日在22:33
它似乎不起作用。它重定向nohup命令的输出而不是myprogram的输出。
–克里斯
18-3-7的16:21
@Kris重定向应在结尾和字符之前进行
– yunzen
18年7月7日在8:29
#2 楼
在此处添加Jim注释作为答案,以提高可见性。使用
nohup program > program.out &
将输出写入program.out
而不是nohup.out
#3 楼
nohup程序&> program.out&或
评论
迟了一年,但是这里给出了一个很好的综合答案:stackoverflow.com/questions/4549489/…