所以我使用/ usr / bin / time来测量我的程序,并且我正在进行同一程序的多次运行,因此我可以收集结果。执行多次执行并同时使用/ usr / bin / time的问题在于它会多次打印出大量信息,我不想将我的结果滚动,复制和粘贴到一个文本文件。我宁愿让命令行为我做这件事。
最初,我认为命令是这样的:
/usr/bin/time -v sudo ./programname >> timeoutput.txt
但据我所知,>>用于标准输出,因此在这种情况下不起作用。
答案 0 :(得分:1)
如果您只想将time
的标准错误(它是用于输出时间信息的句柄)附加到文件,您可以使用:
( time sleep 1 ) 2>>timeoutput.txt
2>>...
位重定向标准错误而不是标准输出,()
确保重定向适用于time
而不是您正在运行的命令
当然,这不会阻止程序中出现的任何错误输出,如果你想保证,你需要这样的东西:
( time ( sleep 1 2>/dev/null ) ) 2>>timeoutput.txt
这将确保命令的错误输出不会干扰time
的错误输出。
在上面的示例中,我使用sleep 1
作为命令,但您应该用您尝试运行的任何命令替换它。
答案 1 :(得分:0)
实际上,时间和/ usr / bin /时间可能会有所不同。有些shell有内置时间功能,请注意我在Red Hat上的ksh:
/ usr / bin /时间日期 星期四10月31日12:57:04 EDT 2013 0.00user 0.00system 0:00.00elapsed?%CPU(0avgtext + 0avgdata 2864maxresident)k 0inputs + 0outputs(0major + 227minor)pagefaults 0swaps
时间日期 Thu Oct 31 12:57:11 EDT 2013
真实0m0.00s 用户0m0.00s sys 0m0.00s