2013-08-03 40 views
0

我想執行如下所示的頂部命令並將輸出存儲到文件中。Linux將頂部輸出存儲到文件

xyz.sh

#!/bin/sh 
while : 
do 
top -n 1 
sleep 5 
done 

當我運行的代碼,它執行併產生輸出罰款:

sh xyz.sh 

但是當我嘗試在後臺的執行代碼被殺。

sh xyz.sh > xyz.log & 

任何想法如何捕獲頂部輸出?

回答

4

top cli命令與您可能從其他實用程序中使用的命令行爲不同。這是因爲它不像典型的從標準輸入讀取並寫入標準輸出的過濾器那樣工作。相反,它模擬一個終端。這意味着你不能簡單地重定向它的輸出,因爲沒有輸出寫入標準輸出。

檢查手冊頁(您應該始終這樣做...)。您會注意到改變該行爲的-b標誌。這將允許你做你想做的事。

+0

謝謝arkascha :) – neo