1
私はexecvを使ってコマンドを実行しようとしています。このプログラムを実行した後、私は "Going to call execv!"というステートメントを見ることができます。標準出力に印刷されます。execvを呼び出した後の奇妙な動作
私はまた、プログラム「漏れ」からのプリントを見ることができます。実際には、ifやelseブロック、つまり「execv failed!error:」や「valgrindが正常に実行された」のいずれにも印刷文が表示されないことを除いて、すべてが正常に動作しています。が出力に印刷されています。
私はexecvについていくつかの明白な点がありませんか?
[man page](https://linux.die.net/man/3/execv)を読むことで、「exec()ファミリの機能*が**現在のプロセスイメージを置き換えます」と、 exec()関数は、エラーが発生した場合にのみ返します。 – kaylum
'execv'がプログラムの実行に成功した場合、呼び出し側プロセスは新しいプログラムによって「置き換えられる」ようです。だから、 "プログラムを呼び出して結果を得る"ではなく、そのために 'system'関数を使います。 – yeputons
[C execv()関数が子プロセスを終了させますか?](http://stackoverflow.com/questions/5172257/does-the-c-execv-function-terminate-the-child-proccess) –