このcコードを使用して、2つの実行可能ファイルを連続して実行しようとしています:
#include <stdio.h>
#include <unistd.h>
int main (int argc, char *argv[])
{
fork();
execv("./prcs1", &argv[1]); // GIVE ADDRESS OF 2nd element as starting point to skip source.txt
fork();
execv("./prcs2", argv);
printf("EXECV Failed\n");
}
fork にもかかわらず、プログラムは最初の execv() 呼び出しの後に終了し、2 番目の execv() に到達しません。最初のフォークの後に wait() を呼び出してみましたが、それが欠けているかどうかはわかりません。
子が終了した後に制御が親に戻らない理由はありますか?