GNOME端末でstrace -fが機能しないのはなぜですか?

GNOME端末でstrace -fが機能しないのはなぜですか?

コマンドを実行しようとしています。

strace -f gnome-terminal --wait |& grep write

次に、開いた端末ウィンドウに入力しlsてEnterを押します。

write端末内で実行中の Bash サブプロセスに転送される、 、 文字に対応するシステム呼び出しとサブプロセスが出力を書くときのシステム呼び出しを見たいが実行するときにシステム呼び出しが表示されません。呼び出しが発生します。ls\nwritelsls

write実行すると、これらのシステムコールが表示されます。

strace -f xterm |& grep write

strace -f子プロセスを追跡できないのはなぜですかgnome-terminal

答え1

端末エミュレーションを実行する実際の作業は、ユーザーが開始したコマンドの子孫ではgnome-terminal-serverありません。gnome-terminal慣れていないいくつかの/または同様の魔法で始まりますgnome-terminal。つまり、すでに実行されているサービスに端末を起動するように要求します。gnome-terminal-serversystemddbus

gnome-terminal-serverPIDを見つけてそこに追加を使用できますstrace -p PID。タブまたはウィンドウが複数ある場合は、gnome-terminalすべて追跡されます。

関連情報