Linuxプロセスによって読み書きされた合計バイト数を出力したいとします。例えば、私はLinuxプロセスとその子プロセスによって読み書きされた合計バイト数
gcc -c a.c
を実行して、合計のバイトはその子、Linuxカーネルからの要求とどのように多くのバイトを、彼らはカーネルに送ら含め、GCCをしたどのように多く見たいのですが。この問題への
不完全な解決策は以下のとおりです。
フィールド
rchar
と/proc/PID/io
でwchar
はこれまでに、読み取り/書き込まれたバイト数を示しています。子プロセスを考慮していません。プロセスが終了するとすぐに失われます。例えば
strace
などのツールは、プロセスのシステムコールと(例えば:read
、write
システムコール)、その子を印刷するために使用することができ、読み出し/書き込みバイト数を集約することができません。
Linuxプロセスとその子プロセスによって読み書きされた合計バイト数をプリントするにはどうすればよいですか?
なぜ、あなたは2つの子プロセス間のパイプ内のバイト数をどのように数えますか? –
@BasileStarynkevitch 2つの子プロセス間のパイプ経由で送信されるNバイトは、Nバイトの書き込み、Nバイトの読み取りとしてカウントされます。 –