《操作系统》的实验代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

34 lines
595 B

#include <ulib.h>
#include <stdio.h>
const int max_child = 32;
int
main(void) {
int n, pid;
for (n = 0; n < max_child; n ++) {
if ((pid = fork()) == 0) {
cprintf("I am child %d\n", n);
exit(0);
}
assert(pid > 0);
}
if (n > max_child) {
panic("fork claimed to work %d times!\n", n);
}
for (; n > 0; n --) {
if (wait() != 0) {
panic("wait stopped early\n");
}
}
if (wait() == 0) {
panic("wait got too many\n");
}
cprintf("forktest pass.\n");
return 0;
}