if(pid == 0)
{
execvp(cmd, args);
// printf("hello"); // apparently, putting this or not does not work.
_exit(-1);
}
else
{
// parent process work
}
「execvp()」は、現在のプログラムを実行予定のプログラムに置き換えます(もちろん同じプロセスコンテキストで)。したがって、たとえば、execvp()の後にprintf()を呼び出すと、機能しなくなります。それはドキュメントが言っていることであり、私もそれを検証しました。
しかし、なぜ_exit()が必要なのですか..?コントロールがexecvp()の後にステートメントに戻るということは起こりますか?
どんなポインタにも感謝します。
ありがとう