私はC ++コード(prog2)でメモリチェックツール(prog1)を実行していますが、どちらのツールも非常に詳細な出力を提供します。一部のエラーを追跡するには、この出力をファイルに保存する必要があります。
標準出力をファイルにリダイレクトしてみました。
prog1 prog2 > outfile.txt
しかし、これはprog2の出力を含むファイルを提供しますが、prog1の出力はまだ端末に送信されます。
どちらの出力もファイルに移動するように指定する方法を知っている人はいますか?良いです(prog1 prog2) > outfile.txt
か?
答え1
おそらく、prog1
出力は標準エラーに書き込まれます。両方の出力をファイルにリダイレクトできます。
prog1 prog2 > outfile.txt 2>&1
または、次の方法で出力を分割できます。
prog1 prog2 > outfile.txt 2> errors.txt
個人を選ばないプログラム'出力、出力チャンネルを切り離します。バラよりシェルの制御およびリダイレクト演算子は何ですか?もっと学ぶ。
文書を見ると、prog1
出力を名前付きファイルに保存するように指示するオプションがあります。たとえばstrace
、
strace -o strace.txt prog2 > outfile.txt
strace
出力を保存し、strace.txt
すべてを標準出力に書き込みますoutfile.txt
。