我是靠谱客的博主 动人吐司,最近开发中收集的这篇文章主要介绍Linux多任务编程(六)---编写多进程程序及其代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实验目的

   通过编写多进程程序,熟练掌握fork()、exec()、wait()和waitpid()等函数的使用,进一步理解在Linux中多进程编程的步骤。

实验内容

   该实验有3个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls -l”指令,另一个子进程在暂停5s后异常退出。父进程先用阻塞方式等待第一个进程的结束,然后用非阻塞方式等待另一个子进程的退出,待收集到第2个子进程结束的消息后,父进程就返回。

实验步骤

   该实验的流程图如下

   

实验源代码

   先看一下下面的代码,这个程序能得到我们所希望的结果吗?它的运行会产生几个进程?

                                                                                                                                                                                 

   执行结果如下图

     

  也有可能会出现下面的结果

  

  分析执行结果可以指知道,这里其实是产生了3个子进程,在子进程2中又产生了一个子进程1。

  下面咱们贴出正确的实验代码:

                                                                                                                                       

  执行结果如下图

   

  不论程序执行多少次,结果都是一样的。对比上一个结果,咱们就可以理解多进程该怎么创建了。一定要明确创建子进程的父进程是哪一个。

  相关实验代码上传到网站,multi_proc_wrong.c点此下载,multi_proc.c点此下载

/************************************************************************************************

*欢迎关注本人公众号:BigBearIT,一起分享交流知识,更多精彩等着你!

*************************************************************************************************/


最后

以上就是动人吐司为你收集整理的Linux多任务编程(六)---编写多进程程序及其代码的全部内容,希望文章能够帮你解决Linux多任务编程(六)---编写多进程程序及其代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部