Bash
使用具有不同輸出的 nohup 和 time
我想執行一個執行檔
main
並將所有輸出重定向到/dev/null
,同時我用它測量它的執行時間time
並將結果寫入runtime.out
. 由於任務很長,我還必須使用nohup
.我嘗試了以下方法:
nohup time ./main &> /dev/null &> runtime.out &
這只是將所有內容輸出到
runtime.out
. 我不需要main
將執行時的輸出保存到文件中。
time
有一些東西可以用來做這個:nohup time -o runtime.out ./main &> /dev/null &
如果它是腳本化的並且不需要 tty,我寧願使用
setsid
thannohup + &
,因為它更好地“守護”,並且在需要時仍然可以發送HUP
信號。setsid time -o runtime.out ./main </dev/null &>/dev/null
另請注意,這裡(如 OP 的問題)
time
是/usr/bin/time
,它的輸出格式與 bash 的內置time
命令不同。如果需要,它似乎/usr/bin/time --portability
給出了類似的輸出。