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

  • 相关阅读:
    轻松处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?
    支付宝研究员王益的建议:“学好语文,才能写好代码”
    Flutter+FaaS一体化任务编排的思考与设计
    开放下载!《大促背后的前端核心业务实践》
    揭秘!信息检索技术高端玩法
    秒懂云通信:如何用阿里云语音通知服务(小白指南)
    卡顿人生,如何拯救?
    阿里云荣获可信云容器安全能力先进级认证, ACK/ACR为企业级安全护航
    飞天大数据产品价值解读— SaaS模式云数据仓库MaxCompute
    阿里产品专家:高情商的技术人,如何做沟通?
  • 原文地址:https://www.cnblogs.com/lvxiaoning/p/4944667.html
Copyright © 2011-2022 走看看