Linux 多进程程序设计

Linux 多进程程序设计

ID:39454718

大小:219.02 KB

页数:11页

时间:2019-07-03

Linux 多进程程序设计_第1页
Linux 多进程程序设计_第2页
Linux 多进程程序设计_第3页
Linux 多进程程序设计_第4页
Linux 多进程程序设计_第5页
资源描述:

《Linux 多进程程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告实验名称:Linux多进程程序设计实验目的熟悉Linux下多进程编程的方法,掌握Linux下fork、exec、wait、waitpid等进程相关的系统调用使用方法。一、实验内容在父进程中创建两个子进程,其中一个子进程运行“ls-l”指令,另一个子进程在暂停5s之后退出。父进程先用阻塞方式等待第一个子进程的结束,然后用非阻塞方式等待第二个子进程的退出,待收集到第二个子进程结束的信息,父进程就返回。二、实验内容1、程序说明、流程图等父进程首先创建一个子进程A,采用组赛模式等待进程A结束,然后创建进程B,采用非阻塞模式等待B进程结束,然后父进程结束A进程运行p

2、s-efB进程等待5S自动结束父进程会铺货进程A,B的结束,然后给予相应的提示。1、程序代码#include#include#include#include#includeintmain(void){pid_tpa,pb,pr;pa=fork();if(pa<0){perror("forkaerror!");}elseif(pa==0){sleep(1);printf("processAisrunning.......");if(execlp("ps",

3、"ps","-ef",NULL)<0){perror("execlpaerror!");}exit(0);}else{printf("thisisparentprocess!");printf("parentprocessiswatingforchildren!");printf("wating......wating.......");pr=wait(NULL);if(pr==pa){printf("parentcatchedthechildA!");}printf("creatprocessB!");pb=fork();if(pb<0){p

4、rintf("errorforkB");}elseif(pb==0){printf("Bprocessisrunning(5S)!");sleep(5);printf("Bprocessend!");exit(0);}else{do{pr=waitpid(pb,NULL,WNOHANG);if(pr==0)/*Bnotend*/{printf("fatheriswatingforchildB!");sleep(1);}}while(pr==0);/*waitforprocessB*/if(pr==pb)printf("childBverywell!

5、");elseprintf("mychildBlost!");}}}1、运行测试输出的结果thisisparentprocess!parentprocessiswatingforchildren!wating......wating.......processAisrunning.......UIDPIDPPIDCSTIMETTYTIMECMDroot10002:57?00:00:01/sbin/initroot20002:57?00:00:00[kthreadd]root32002:57?00:00:00[ksoftirqd/0]root52002:57?0

6、0:00:00[kworker/u:0]root62002:57?00:00:00[migration/0]root72002:57?00:00:00[cpuset]root82002:57?00:00:00[khelper]root92002:57?00:00:00[netns]root102002:57?00:00:00[sync_supers]root112002:57?00:00:00[bdi-default]root122002:57?00:00:00[kintegrityd]root132002:57?00:00:00[kblockd]root1420

7、02:57?00:00:00[kacpid]root152002:57?00:00:00[kacpi_notify]root162002:57?00:00:00[kacpi_hotplug]root172002:57?00:00:00[ata_sff]root182002:57?00:00:00[khubd]root192002:57?00:00:00[md]root222002:57?00:00:00[khungtaskd]root232002:57?00:00:00[kswapd0]root242002:57?00:00:00[ksmd]root252002:

8、57?00

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。