Slide 38
Slide 38 text
env コマンドに学ぶ
/usr/bin/env が別のプログラムにすり替わるからくりは
システムコール execve(2) で実現している
execveとは? from manpage execve(2)
execve() executes the program pointed to by filename.
...
execve() does not return on success, and the text, data, bss, and
stack of the calling process are overwritten by that of the program
loaded.
execve() は filename で示されたプログラムを実行します。
…
execve() が成功したときはreturnしません。呼び出したプロセスの text, data, bss
(セクション), そしてスタックは、ロードされたプログラムのもので上書きされます。