gccを使用してプログラムをコンパイルし、それをbashシェルから実行しようとすると、それを実行するためにbashが実行するステップの正確なシーケンスは何ですか?
私が知っているfork()
、execve()
、loader
、dynamic linker
(および他のもの)に関与していることができますが、誰かがステップと、いくつかの適切な読取基準の正確な配列を与えますか?
編集:
答えから、質問は多くの可能性を暗示することができるようです。簡単なケースに絞り込みたい:
(test.cはhello worldを出力するだけです)
$ gcc test.c -o test
$ ./test
上記のケース(./test
)のステップ、具体的には、いくつかの子プロセスでのbash開始プログラムの関連付け、ロード、リンクなどの手順は何ですか?