8 下面的程序首先新建一子进程, 然后让其子进程暂停5s。接下来对原有的父进程使用阻塞函数, 并使用参数使该父进程不会阻塞。若有子进程退出, 则阻塞函数返回子进程号; 若没有子进程退出, 则阻塞函数返回0, 并且父进程每隔一秒循环判断一次。请写出应填写在空白处的写项。 int main() { pid_t pc, pr; pc = fork() if(pc < 0) printf("Error \n"); /*子进程*/ else if(pc == 0) { /*子进程暂停5s*/ sleep(5); /*子进程正常退出*/ exit(0); } /*父进程*/ else { /*循环测试子进程是否退出*/ do { /*调用阻塞函数, 且父进程不阻塞*/ __________; /*若子进程还未退出,则父进程暂停1s*/ if(pr == 0) { printf("The child process has not exited \n"); sleep(1); } } while(pr == 0); /*若发现子进程退出,打印出相应情况*/ if(pr == pc) printf("Get child %d \n", pr); else printf("some error occured. \n"); } }