首页 > 系统服务 > 详细

多进程程序设计

时间:2015-11-07 12:09:19      阅读:273      评论:0      收藏:0      [点我收藏+]

一。多进程编程

  1.函数学习

    (1).创建进程

      1.

       函数名        fork

       函数原型    pid_t fork(void)

       函数功能    创建一个子进程

       所属头文件   <unistd.h>

       返回值     成功时:在父进程中返回子进程的pid

                     在子进程中返回是0

               失败时:子进程返回的-1

       参数说明    无参数

      2.      

       函数名        vfork

       函数原型    pid_t vfork(void)

       函数功能    创建一个子进程并阻塞父进程

       所属头文件   <sys/types.h> <unistd.h>

       返回值     成功时:在父进程中返回子进程的pid

                     在子进程中返回是0

               失败时:子进程返回的-1

       参数说明    无参数

      3.

        #include <unistd.h>
        #include <stdio.h>

        void main(void)
        {
          pid_t pid;
          int count = 0;
          pid = fork();
          count++;
          printf("count = %d\n",count);
          exit(0);
         }

      思考得出什么结果?

      4.fork 对比 vfork

       (1) fork: 子进程用于独立的数据段,堆栈。

          vfork:子进程与父进程共享数据段,堆栈。

       (2) fork:父、子进程的执行次序不确定

          vfork:子进程先运行、父进程后运行

    (2).进程退出

      exit(0);

    (3).进程等待     

       函数名        wait

       函数原型    pid_t wait(int *status)

       函数功能    挂起调用它的进程,直到其子进程结束

       所属头文件   <sys/types.h> <sys/wait.h>

       返回值     成功时:返回终止的那个子进程的id

               失败时:-1

       参数说明    status:记录子进程的退出状态

    (4).执行程序       

       函数名        execl

       函数原型    int execl(const char*)

       函数功能    运行可执行文件

       所属头文件   <sys/types.h> <sys/wait.h>

       返回值     成功时:不返回

               失败时:才返回

       参数说明    pathname:要运行的可执行文件的路径

               arg:可执行文件运行需要的

多进程程序设计

原文:http://www.cnblogs.com/lvxiaoning/p/4944667.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!