Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
シェルコマンドを呼び出すときに、内部でコード/ステップフローを理解するのを手伝ってください。たとえば、bourne シェルで次のコマンドを実行するとします。
ls -l | grep -r "string"
内部で行われている関数呼び出しは何ですか?
私の知る限り、execv内部でいくつかのファミリ関数を呼び出します。しかし、それが行う他の関数呼び出しは何であり、そのシーケンスは何になるのか、誰か教えてもらえますか?
execv
strace ユーティリティを使用して何が起こるかを自分で調べることができます。次のように実行します。
strace sh -c'ls -l | grep -r "文字列"'
これによりシェルが実行され、シェルがコマンドを実行し、最後に strace がシステム コールに関して舞台裏で何が起こっているかを出力します。