我有一個用C++編寫的程序,我們稱之爲program
,它在運行時有很多輸出。我想在一個文件上記錄這個輸出,所以更容易看一下。我已經嘗試過./program & > file
./program & |tee file
但它不起作用(如果可能,我想在後臺運行它)。如何在unix中存儲一個c/C++程序的文件輸出
有什麼想法嗎?
感謝
編輯:它不工作./program > file
。我試圖把它的背景,在前景,但該文件是空的....
我有一個用C++編寫的程序,我們稱之爲program
,它在運行時有很多輸出。我想在一個文件上記錄這個輸出,所以更容易看一下。我已經嘗試過./program & > file
./program & |tee file
但它不起作用(如果可能,我想在後臺運行它)。如何在unix中存儲一個c/C++程序的文件輸出
有什麼想法嗎?
感謝
編輯:它不工作./program > file
。我試圖把它的背景,在前景,但該文件是空的....
重定向(>
,2>
,2>&1
等)是實現這一目標的標準方式。但是,這並不適用於所有可能的情況。
使用script
捕捉一切你的終端上顯示:
script -c "./program arg1 --arg2" output.log
我在構建Android Framework時遇到了標準重定向問題。我相信這與產卵過程有關,重定向不能再捕捉。 –
如果你想將stdout,把程序後臺使用(./program > file)&
你可以嘗試
program >& somefile &
然後結束&
意味着你想把他們的工作在background和(用bash或zsh)>&
重定向stdout和標準錯誤
那麼你可以使用tail -f somefile
(也許在不同的終端窗口)看那個成長somefile
。見tail(1)
順便說一句,還有其他的可能性。或許看看batch
command(你可能需要安裝at
包)才能進入nohup(1)。
至少這對我有效:'> file ./program&'。 – Scheff
@ tobi303它可能與你無關。我寧願給予比我更多的信息。沒有工作=文件是空的。 – Lomezno
你說的這個「c/C++」是什麼? –