2017-07-07 87 views
0

我有一個用C++編寫的程序,我們稱之爲program,它在運行時有很多輸出。我想在一個文件上記錄這個輸出,所以更容易看一下。我已經嘗試過./program & > file./program & |tee file但它不起作用(如果可能,我想在後臺運行它)。如何在unix中存儲一個c/C++程序的文件輸出

有什麼想法嗎?

感謝

編輯:它不工作./program > file。我試圖把它的背景,在前景,但該文件是空的....

+0

至少這對我有效:'> file ./program&'。 – Scheff

+0

@ tobi303它可能與你無關。我寧願給予比我更多的信息。沒有工作=文件是空的。 – Lomezno

+0

你說的這個「c/C++」是什麼? –

回答

2

重定向(>2>2>&1等)是實現這一目標的標準方式。但是,這並不適用於所有可能的情況。

使用script捕捉一切你的終端上顯示:

script -c "./program arg1 --arg2" output.log

+0

我在構建Android Framework時遇到了標準重定向問題。我相信這與產卵過程有關,重定向不能再捕捉。 –

2

如果你想將stdout,把程序後臺使用(./program > file)&

0

你可以嘗試

program >& somefile & 

然後結束&意味着你想把他們的工作在background和(用bash或zsh)>&重定向stdout標準錯誤

那麼你可以使用tail -f somefile(也許在不同的終端窗口)看那個成長somefile。見tail(1)

順便說一句,還有其他的可能性。或許看看batch command(你可能需要安裝at包)才能進入nohup(1)

相關問題