想做外贸做哪些网站好,网站微信建设经验,电子商务网站建设与管理的考试,深圳网站开发费用一. 实验内容 1#xff0e; 编写一个程序#xff0c;程序中创建一个子进程。然后父、子进程各自独立运行#xff0c;父进程不断地在标准输出设备#xff08;即显示器#xff09;上输出字母p和回车#xff08;输出30次或以上#xff09;#xff0c;子进程不断地在标准输… 一. 实验内容 1 编写一个程序程序中创建一个子进程。然后父、子进程各自独立运行父进程不断地在标准输出设备即显示器上输出字母p和回车输出30次或以上子进程不断地在标准输出设备即显示器上输出字母c和回车输出30次或以上。 提示相关的系统调用或函数fork( ) 多次运行程序观察程序输出的结果并做出合理的解释。 2 附加题选做编写一个程序程序中创建两个子进程然后三个进程各自独立运行。 父进程每隔1秒钟输出一个字母P和回车共输出10次 子进程1每隔2秒钟输出一个字母C和回车共输出10次 子进程2每隔3秒钟输出一个字母S和回车共输出10次 父进程必须等待两个子进程都结束后输出一句“Finish”然后才结束退出。 提示可能使用到的系统调用或函数 sleep( ) wait( ) 3 你如果有其他方法可以影响或改变父、子进程的执行顺序写出你的方法论证其正确性并加以实现。实现结果是否与预期的一致 1. #includeunistd.h #includestdio.h int main() { int i; pid_t fpid; int count 0; fpid fork(); if(fpid 0) { for(i0;i30;i) { usleep(10); printf(c \n); } } else { for(i0;i30;i) { usleep(15); printf(p \n); } } return 0; } 2. #includeunistd.h #includestdio.h #include sys/wait.h int main() { int i; pid_t fpid; int count 0; fpid fork(); if(fpid 0) { for(i0;i10;i) { sleep(2); printf(c \n); } } else { fpidfork(); if(fpid0) { for(i0;i10;i) { printf(s\n); sleep(3); } } else{ for(i0;i10;i) {usleep(1); printf(p \n); } wait(NULL); wait(NULL); printf(finish!); } } return 0; } 3.可以采用vfork函数确保子进程优先完成或者PV操作实现先后顺序的改变。 1. 2. 3. 1. 借助fork函数和Linux系统完成进程的创建并观察到两个进程相互独立输出拥有自己的空间因此明白了操作系统的进程的含义。 2. 借助wait()函数了解了操作系统的进程之间的相互阻塞去进行先后顺序的改变。