《操作系统》的实验代码。
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 

32 rader
672 B

#include <stdio.h>
#include <ulib.h>
int
main(void) {
int pid, ret;
cprintf("I am the parent. Forking the child...\n");
pid = fork();
if (pid== 0) {
cprintf("I am the child. spinning ...\n");
while (1);
}else if (pid<0) {
panic("fork child error\n");
}
cprintf("I am the parent. Running the child...\n");
yield();
yield();
yield();
cprintf("I am the parent. Killing the child...\n");
assert((ret = kill(pid)) == 0);
cprintf("kill returns %d\n", ret);
assert((ret = waitpid(pid, NULL)) == 0);
cprintf("wait returns %d\n", ret);
cprintf("spin may pass.\n");
return 0;
}