私のCプログラムでは、子プロセスを作成し、その中で文字列を解析し、コマンドmalloc()
で渡すために使用するためのポインター配列を作成しました(を使用して) 。execvp()
しかし、問題は、子供が作成した記憶をどのように解放するかということです。execvp()
新しいタスクを実行し、戻る場合と戻らない場合があります。それが戻らない場合、それは成功し、子供は死にます(そして私は実際にfree()
コマンドを使用することはできません)。失敗した場合は戻り、次のコード行を続行します。これがメモリを解放する唯一のチャンスですか?