Linux下重導進程輸出
阿新 • • 發佈:2018-10-26
-s 錯誤 方程 fig cut tro 標準輸出 make 指令 linux下要重導進程輸出(包括標準輸出和標準錯誤),需要第三方程序strace(關於strace的編譯請見本文最底說明)。
執行下列指令可以將進程 id 為 ${PID} 的所有輸出到重導到 /tmp/outs
- strace -e trace=all -s 200 -f -o /tmp/outs -p ${PID}
使用下列指令可以取出標準錯誤內容(以 java 程序標準錯誤為例)
- cat /tmp/outs | grep "write(2," | cut -d ‘,‘ -f 2 | grep -v "\\n" | sed -e ‘s/\"//g‘ | sed -e ‘s/\t/ /g‘
如何編譯strace:
- 從網上下載strace_xxxx.tar.gz文件
- 使用 tar zxvf 將strace.tar.gz 解壓縮;
- 切換到解壓縮路徑,編輯以下腳本,執行編譯(以powerpc平臺為例)
CC=ppc_82xx-gcc LD=ppc_82xx-ld RANLIB=ppc_82xx-ranlib
./configure --host=powerpc-linux --target=powerpc-linux
make - 編譯完成後在相同路徑即可見到二進制的strace文件;
Linux下重導進程輸出