linu多进程程序设计_第1页
linu多进程程序设计_第2页
linu多进程程序设计_第3页
linu多进程程序设计_第4页
linu多进程程序设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、5S自动结束父进程会铺货进程A, B的结束,然后给予相应的提示。if(pa=O)else迪程阻塞”於Aif(pb=O)else父进程r非阻塞等待B2、程序代码#i nclude #include #include #include #include int mai n(void )pid_t pa,pb,pr;pa=fork();if(pa0)perror(fork a error!);else if(pa=O)sleep(1);prin tf(process A is runningn ”);if(execlp(ps,ps,-ef,NULL)O) perror(execlp a error!

3、); exit(0);elseprin tf(this is pare nt process!n);prin tf(pare nt process is wati ng for childre n !n ”);prin tf(wati ngwatingn ”);pr=wait(NULL);if(pr=pa)prin tf(pare nt catched the child A!n);prin tf(creat process B!n);pb=fork();if(pb0)prin tf(error fork Bn);else if(pb=0)prin tf(B process is runnin

4、g( 5 S )!n); sleep(5);prin tf(B process en d!n);exit(0);elsedopr=waitpid(pb,NULL,WNOHANG);if(pr=0)/*B not en d*/prin tf(father is wat ing for child B!n); sleep(1);while(pr=O);/*wait for process B*/ if(pr=pb)prin tf(child B very well!n);elseprin tf(my child B lost!);3、运行测试输出的结果haohao-VirtualBox1-/Des

5、ktop* gcc -o test test,c hao(ahao-VirtualBox: -/Desktops /test this is parent process!parent process is 属ting for children ! wating . 厢tingprocess A is runninghoo2029hao2685hao2086parent catched26150G3:472626603:492385303:49the child A!ptS/G ptS/G pts/e06:GG:Ou bash 00:08:90 ./test oe:ee:o0 ps -efHI

6、DPIDPPIDcSTI HETTYTIMECMDroot1&002:57?朋:ee::ei/sbin/initroot20062;:57?ee:ee::06kthreaddroot32e02:57?盹::ee:eeksoftirqd/6root52e02:57?es:kworker/u:Qroot6202::57?ee::ee::前jmigration/Groot72002:57?胭:朋:661cpusetlroot82e02:57?ee:ee:ee1khelperlroot92062157?eo:eo::前netnsrootIB202:57?盹:昭:00sync supersroot112

7、&02:57?ee:ee:eebdi-defaultroot122G0257?ee;ee;前kintegritydroot132002:57?跑盹:QDkblockdroot142G02:57ee:ee::eelucpidroot1520257?ee:阳:;eekacpi notifyl厂EC卄i aam -_2 ae KrftlJT Efn/-ini iihc + riill im 1treat process B!father is wating for child B!B process is running! 5 S )*B! B! B! B!father is wating far

8、child father is wating tor child father is wating for child father is wating for child B process end!child B very well!this is pare nt process!pare nt process is wati ng for childre n !wati ng .watingprocess A is running.UIDPIDPPID C STIME TTYTIME CMDroot10 0 02:57 ?00:00:01 /sbi n/in itroot20 0 02:

9、57 ?00:00:00 kthreaddroot320 02:57 ?00:00:00 ksoftirqd/0root520 02:57 ?00:00:00 kworker/u:0root620 02:57 ?00:00:00 migratio n/0root720 02:57 ?00:00:00 cpusetroot820 02:57 ?00:00:00 khelperroot920 02:57 ?00:00:00 n et nsroot1020 02:57 ?00:00:00 sy nc_supersroot1120 02:57 ?00:00:00 bdi-defaultroot1220

10、 02:57 ?00:00:00 ki ntegritydroot1320 02:57 ?00:00:00 kblockdroot1420 02:57 ?00:00:00 kacpidroot1520 02:57 ?00:00:00 kacpi_ notifyroot1620 02:57 ?00:00:00 kacpi_hotplugroot1720 02:57 ?00:00:00 ata_sffroot1820 02:57 ?00:00:00 khubdroot1920 02:57 ?00:00:00 mdroot2220 02:57 ?00:00:00 khu ngtaskdroot232

11、0 02:57 ?00:00:00 kswapd0root2420 02:57 ?00:00:00 ksmdroot2520 02:57 ?00:00:00 fsn otify_markroot2620 02:57 ?00:00:00 aioroot2720 02:57 ?00:00:00 ecryptfs-kthrearoot2820 02:57 ?00:00:00 cryptoroot3220 02:57 ?00:00:00 kthrotldroot3420 02:57 ?00:00:00 scsi_eh_0root3520 02:57 ?00:00:01 scsi_eh_1root362

12、0 02:57 ?00:00:00 kworker/u:3root3920 02:57 ?00:00:00 kmpathdroot4020 02:57 ?00:00:00 kmpath_ha ndlerdroot4120 02:57 ?00:00:00 ko ndema ndroot4220 02:57 ?00:00:00 kco nservativeroot16020 02:57 ?00:00:00 scsi_eh_2root17620 02:57 ?00:00:00 jbd2/sda1-8root17720 02:57 ?00:00:00 ext4-dio-u nwritroot22410

13、 02:57 ?00:00:00 upstart-udev-bridge -daem onroot23510 02:57 ?00:00:00 udevd -daemonsyslog32910 02:57 ?00:00:00 rsyslogd -c410233410 02:57 ?00:00:00 dbus-daem on -system -fork -avahi36110 02:57 ?00:00:00 avahi-daem on: running hao-Viravahi3623610 02:57 ?00:00:00 avahi-daem on: chroot helperroot37510

14、 02:57 ?00:00:00 NetworkMa nagerroot38310 02:57 ?00:00:00 /usr/sb in/modem-ma nagerroot39210 02:57 ?00:00:00 /usr/lib/policykit-1/polkitdroot43710 02:57 ?00:00:00 /sbin/wpa_supplica nt -u -sroot44520 02:57 ?00:00:00 kpsmousedroot50620 02:57 ?00:00:00 iprtroot52610 02:57 ?00:00:00 upstart-socket-brid

15、ge -daem onroot60610 02:57 tty400:00:00 /sbin /getty -8 38400 tty4root61410 02:57 tty500:00:00 /sbin /getty -8 38400 tty5root62610 02:57 tty200:00:00 /sbin /getty -8 38400 tty2root63310 02:57 tty300:00:00 /sbin /getty -8 38400 tty3root63610 02:57 tty600:00:00 /sbin /getty -8 38400 tty6daem on64310 0

16、2:57 ?00:00:00 atdroot64410 02:57 ?00:00:00 acpid -c /etc/acpi/eve nts -s /root64510 02:57 ?00:00:00 cronroot66420 02:57 ?00:00:00 flush-8:0root74610 02:57 ?00:00:02 /usr/sbi n/VBoxServiceroot90510 02:57 ?00:00:00 gdm-bi naryroot90810 02:57 ?00:00:00 /usr/sb in/cupsd -Froot91010 02:57 tty100:00:00 /

17、sbin /getty -8 38400 tty1root91410 02:57 ?00:00:00 /usr/sb in/co nsole-kit-daemon -root9809050 02:57 ?00:00:00 /usr/lib/gdm/gdm-simple-slaveroot9859802 02:57 tty700:01:28 /usr/bi n/X :0 -nr -verbose -auroot10009800 02:57 ?00:00:00 /usr/lib/gdm/gdm-sessi on-workehao100910000 02:57 ?00:00:00 gno me-se

18、ssi on -sessi on=ubuntuhao105210 02:57 ?00:00:00 /usr/bi n/VBoxClie nt -clipboarhao106410 02:57 ?00:00:00 /usr/bi n/VBoxClie nt -displayhao107010 02:57 ?00:00:00 /usr/bi n/VBoxClie nt -seamlesshao107610 02:57 ?00:00:30 /usr/bi n/VBoxClie nt -draga nddhao107910090 02:57 ?00:00:00 /usr/bi n/ssh-age nt

19、 /usr/bi n/dbhao108210 02:57 ?00:00:00 /usr/bi n/dbus-lau nch -exit-wihao108310 02:57 ?00:00:01 /bi n/dbus-daemon -fork -prihao108810 02:57 ?00:00:00 /usr/lib/libgco nf2-4/gco nfd-2hao110110 02:57 ?00:00:00 /usr/b in/gno me-keyri ng-daem onhao110610 02:57 ?00:00:04 /usr/lib/g no me-sett in gs-daem o

20、nhao110910 02:57 ?00:00:00 /usr/lib/gvfs/gvfsdhao111410090 02:57 ?00:00:05 metacityhao111610 02:57 ?00:00:00 /usr/lib/gvfs/gvfs-fuse-daemohao112010 02:57 ?00:00:04 /usr/bi n/pulseaudio -start -rtkit112210 02:57 ?00:00:00 /usr/lib/rtkit/rtkit-daem onhao112710090 02:57 ?00:00:10 nautilushao112810090 0

21、2:57 ?00:00:00 /usr/lib/evolutio n/2.32/evoluthao113110090 02:57 ?00:00:04 gno me-pa nelhao113510090 02:57 ?00:00:00 zeitgeist-datahubhao113711200 02:57 ?00:00:00 /usr/lib/pulseaudio/pulse/gc onhao113810090 02:57 ?00:00:00 nm-applet -sm-disablehao114010090 02:57 ?00:00:00 gno me-power-ma nagerhao114

22、210090 02:57 ?00:00:00 /usr/lib/policykit-1-g nome/polhao114310090 02:57 ?00:00:00 bluetooth-applethao115210 02:57 ?00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-root115610 02:57 ?00:00:00 /usr/lib/udisks/udisks-daem onroot115811560 02:57 ?00:00:01 udisks-daem on: polli ng /dev/srhao116010 02:57 ?00:00:01

23、/usr/bi n/pytho n /usr/bi n/zeitghao116310 02:57 ?00:00:00 /usr/lib/gvfs/gvfs-afc-volume-hao116710 02:57 ?00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volhao117111600 02:57 ?00:00:00 /bi n/cathao117611600 02:57 ?00:00:00 zeitgeist-datah root119510 02:57 ?00:00:00 /usr/lib/upower/upowerdhao126310 02:57 ?00:00

24、:00 /usr/lib/gvfs/gvfsd-trash -sphao126510 02:57 ?00:00:00 gno me-scree nsaverhao127210 02:57 ?00:00:02 /usr/lib/notify-osd/notify-osdhao129010 02:57 ?00:00:00 /usr/lib/bo nobo-activatio n/bonhao130310 02:57 ?00:00:03 /usr/lib/g nome-pa nel/w nck-applhao130510 02:57 ?00:00:00 /usr/lib/g no me-applet

25、s/trash aphao131110 02:57 ?00:00:00 /usr/lib/g nome-pa nel/notificathao131210 02:57 ?00:00:01 /usr/lib/i ndicator-applet/i ndihao132710090 02:57 ?00:00:00 /usr/lib/g no me-disk-utility/gdhao133010 02:57 ?00:00:00 /usr/lib/gvfs/gvfsd-burn -spahao133910 02:57 ?00:00:00 /usr/lib/gvfs/gvfsd-metadatahao1

26、34310 02:57 ?00:00:00 /usr/lib/d-co nf/dcon f-servicehao134710 02:57 ?00:00:00 /usr/lib/i ndicator-messages/i nhao134910 02:57 ?00:00:00 /usr/lib/i ndicator-sou nd/i ndichao135110 02:57 ?00:00:00 /usr/lib/i ndicator-applicatio nhao135310 02:57 ?00:00:00 /usr/lib/i ndicator-sessio n/indhao135610 02:57 ?00:00:00 /usr/lib/i ndicator-datetime/i nhao135710 02:57 ?00:00:00 /usr/lib/i ndicator-me/i ndicatohao139710 02:57 ?00:00:00 /usr/lib/geoclue/geoclue-mastehao139910090 02:57 ?00:00:00 /usr/bi n/pytho n /u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论