GNU/Linux >> Linux の 問題 >  >> Linux

strace をファイルにリダイレクトする

-o フラグを使用できない特定の理由はありますか?

ps auxw | grep sbin/apache | awk '{print " -p " $2}' | xargs strace -o /tmp/trace.txt

また、正規表現のトリックを使用して、grep プロセスがプロセス リストに含まれないようにする必要があります。

ps auxw | grep 'sbin/[a]pache' ....

また、Apache の特定のケースでは、

<オール>
  • Apache は (通常) マルチプロセスです。親または子のいずれかを取得しますか? strace に「-f」フラグを追加すると、(特に) 出力に PID が挿入されます。
  • PID ファイルからメインの親プロセスのプロセス ID を取得できます。

    例えばstrace -o /tmp//trace.txt -f $(

  • それで、それはあなたが求めている質問です..しかし、あなたは何をしようとしていますか?起動時にデバッグしますか?リクエストを処理する子プロセスをトレースしますか? apache への -X フラグも見てください。


    一般に、strace は「ファイルにリダイレクトできます」が、その出力を stderr に書き込む (プログラムの stderr と混合する) ため、次のようになります

    strace progname 2>my_strace_output
    

    「すべての出力」をファイルに出力したい場合:

    strace progname 1>my_strace_output 2>&1
    

    「grep」できるようにしたい場合:

    strace progname 2>&1 | grep ...
    

    ただし、grep してファイルに送信すると、大量のバッファリングが発生することに注意してください:https://unix.stackexchange.com/questions/338330/grepping-strace-output-gets-hard


    Linux
    1. プログラムの出力をZipファイルにリダイレクトする方法は??

    2. リダイレクトとパイプ出力?

    3. Linuxgrepコマンド

    1. systemd サービスの出力をファイルにリダイレクトする方法

    2. bash シェルでファイルのセクションを grep する方法

    3. ドメインをローカルで別のドメインにリダイレクトするにはどうすればよいですか?

    1. Grepがファイルをバイナリと見なす理由は何ですか?

    2. cp -L 対 cp -H

    3. systemd サービス ログをファイルにリダイレクトする