2011-06-01 19 views
3

我得到一個段錯誤的錯誤消息在終端運行該命令後outputing一個文件:重定向段錯誤的錯誤消息從一個C++程序

bash-3.2$ a.out < testfiles/inputs/tst1.txt 2> err.txt 
    [2]+ Done     gedit err.txt 
    Segmentation fault 

a.out的只是運行的排序算法。

現在我的問題是如何將Seg錯誤錯誤消息重定向到err.txt文件中。

使用2>或其他變種似乎不起作用。

在此先感謝。

回答

0

使用重定向,你不能。它不是程序的輸出,而是運行程序的程序的輸出。無論如何,重定向它通常是一個壞主意。

0

這工作:

 
$ { ./a.out; } 2> err.txt 
+0

我沒有在bash腳本這樣的成功。 – 2013-02-22 07:20:55

+0

@Evan Hmmm。它適用於我(bash 3.2.48和Darwin 10.8.0)今天晚些時候我會嘗試其他一些機器。你的平臺是什麼?試試'{sh -c'./a.out'; } 2> err.txt' – 2013-02-22 12:09:30

+0

這將是很好,如果這還包括其他消息。我試過'{./a &>log;}&>> log',那沒有用。 – 2015-08-24 11:41:46