#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main() {
pid_t pid1, pid2;
// 创建第一个子进程
pid1 = fork();
if (pid1 < 0) {
return 1;
} else if (pid1 == 0) {
// 子进程1
return 0; // 子进程1结束
}
// 父进程继续执行,创建第二个子进程
pid2 = fork();
if (pid2 < 0) {
return 1;
} else if (pid2 == 0) {
// 子进程2
return 0; // 子进程2结束
}
// 父进程
// 等待两个子进程都结束
wait(NULL);
wait(NULL);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KCmludCBtYWluKCkgewogICAgcGlkX3QgcGlkMSwgcGlkMjsKCiAgICAvLyDliJvlu7rnrKzkuIDkuKrlrZDov5vnqIsKICAgIHBpZDEgPSBmb3JrKCk7CgogICAgaWYgKHBpZDEgPCAwKSB7CiAgICAgICAgZnByaW50ZihzdGRlcnIsICJGb3JrIEZhaWxlZFxuIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9IGVsc2UgaWYgKHBpZDEgPT0gMCkgewogICAgICAgIC8vIOWtkOi/m+eoizEKICAgICAgICBwcmludGYoIum7hOaWjFxuIik7CiAgICAgICAgZmZsdXNoKHN0ZG91dCk7IC8vIOeri+WNs+WIt+aWsOi+k+WHuue8k+WGsuWMugogICAgICAgIHJldHVybiAwOyAvLyDlrZDov5vnqIsx57uT5p2fCiAgICB9CgogICAgLy8g54i26L+b56iL57un57ut5omn6KGM77yM5Yib5bu656ys5LqM5Liq5a2Q6L+b56iLCiAgICBwaWQyID0gZm9yaygpOwoKICAgIGlmIChwaWQyIDwgMCkgewogICAgICAgIGZwcmludGYoc3RkZXJyLCAiRm9yayBGYWlsZWRcbiIpOwogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIGlmIChwaWQyID09IDApIHsKICAgICAgICAvLyDlrZDov5vnqIsyCiAgICAgICAgcHJpbnRmKCLpu4Tmlow2NjZcbiIpOwogICAgICAgIGZmbHVzaChzdGRvdXQpOyAvLyDnq4vljbPliLfmlrDovpPlh7rnvJPlhrLljLoKICAgICAgICByZXR1cm4gMDsgLy8g5a2Q6L+b56iLMue7k+adnwogICAgfQoKICAgIC8vIOeItui/m+eoiwogICAgLy8g562J5b6F5Lik5Liq5a2Q6L+b56iL6YO957uT5p2fCiAgICB3YWl0KE5VTEwpOwogICAgd2FpdChOVUxMKTsKCiAgICBwcmludGYoIum7hOaWjOWPkeWPkeWPkVxuIik7CiAgICBmZmx1c2goc3Rkb3V0KTsKCiAgICByZXR1cm4gMDsKfQ==