だから私は次のCコードを持っています:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(){
int i = 0, n;
n = 5;
pid_t pid;
printf("i=%d Right before the loop\n", i, getpid(), getppid());
for (i = 0; i < n; i++){
pid = fork();
if (pid <= 0){
printf("something happens in loop #%d. pid = %d\n", i, pid);
break;
}
printf("End of loop #%d\n", i);
}
printf("i=%d My process ID = %d and my parent's ID = %d\n", i, getpid(), getppid());
return 0;
}
質問は 1 つだけです。
printf("i=%d My process ID = %d and my parent's ID = %d\n", i, getpid(), getppid());
ループ内にあるかのように何度も実行されますか? いろいろ調べてみましたが原因がわかりません。