#include
#include
#include
#include
#include
int main(int argc, char *argv[]) {
// 获取数字
int num;
sscanf(argv[1], "%d", &num);
// 初始化随机数生成器
srand(time(NULL));
for (int i = 0; i < num; i++) {
// 创建新进程
pid_t pid = fork();
if (pid == 0) {
// 子进程等待随机时间
int sleepTime = rand() % 10 + 1;
sleep(sleepTime);
// 打印并退出
printf("Child process %d exited after waiting %d seconds\n", i + 1, sleepTime);
exit(0);
}
}
// 等待所有子进程退出
int status;
for (int i = 0; i < num; i++) {
wait(&status);
}
return 0;
}
但我想要的输出是这样的
在main下第一句加入 setbuf(stdout,_Buffer:NULL); 试下,如 https://blog.csdn.net/lswaone/article/details/114279850
这个退出代码显示是139啊,好像不是正常退出。
你可以点击上面那个像虫子一样的按钮调试一下。