如何将程序的运行历史保存到文件中?

如何将程序的运行历史保存到文件中?

我正在运行一个名为 的程序gatk-picard.sh,它正在打印运行历史记录/日志(INFO下面的行)。由于该程序大约需要 20 小时才能完成,我想在离开办公室时将其运行,但会检查家里的运行历史记录。完成后如何自动保存这些历史行?

我尝试过$gatk-picard.sh > log但似乎不起作用。

$ ./gatk-picard.sh 
INFO  16:08:50,858 HelpFormatter - -------------------------------------------------------------------------------- 
INFO  16:08:50,861 HelpFormatter - The Genome Analysis Toolkit (GATK) v3.6-0-g89b7209, Compiled 2016/06/01 22:27:29 
INFO  16:08:50,861 HelpFormatter - Copyright (c) 2010-2016 The Broad Institute 
INFO  16:08:50,862 HelpFormatter - For support and documentation go to https://www.broadinstitute.org/gatk 
INFO  16:08:50,862 HelpFormatter - [Fri Sep 16 16:08:50 EDT 2016] Executing on Linux 3.13.0-95-generic amd64 
INFO  16:08:50,862 HelpFormatter - Java HotSpot(TM) 64-Bit Server VM 1.8.0_102-b14 JdkDeflater 

答案1

它可能正在写入stderr(文件描述符 2)而不是stdout(文件描述符 1,默认值)。> filename(也可以写为1> filename)重定向stdout到文件。您可以重定向stderrstdout第一个,如下所示:

gatk-picard.sh 2>&1 > log

或者你可以写入stderr它自己的文件,如下所示:

./gatk-picard.sh 2>log_err >log_out

相关内容