zoukankan      html  css  js  c++  java
  • 多进程程序设计

    一。多进程编程

      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 ",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:可执行文件运行需要的

  • 相关阅读:
    大二(上期)学期末个人学习总结
    《梦断代码》阅读笔记01
    软件工程概论课程评价
    03《构建之法》阅读笔记第三篇(终结篇)
    02《构建之法》阅读笔记第二篇
    个人简评——2345王牌拼音输入法
    《人件集》阅读笔记第一篇
    个人学习进度条
    AcWing ST算法(区间求最值)打卡
    AcWing 101. 最高的牛 (差分) 打卡
  • 原文地址:https://www.cnblogs.com/lvxiaoning/p/4944667.html
Copyright © 2011-2022 走看看