zoukankan      html  css  js  c++  java
  • 多进程程序设计,王明学learn

                多进程程序设计

    一、函数学习

    1.1 创建进程fork

    1.1.1 函数原形

      pid_t fork(void);

    1.1.2 函数功能

      创建一个子进程

    1.1.3 所属头文件

      <unistd.h>

    1.1.4 返回值

      成功:父进程返回创建成功的子进程pid子进程返回 0

      失败:父进程返回

    1.1.5 参数说明

      无           

    1.2 创建进程vfork

    1.2.1 函数原形

      Pid_t  vfork();

    1.2.2 函数功能

      创建一个子进程,并阻塞父进程

    1.2.3 所属头文件

      <sys/types.h>   <unistd.h>

    1.2.4 返回值

      成功:父进程返回创建成功的子进程pid子进程返回 0

      失败:父进程返回 -1

    1.2.5 参数说明

      无

    fork和vfork对比:

      fork和vfork都可以用于创建子进程,但是也有如下不同之处:

      1. fork:子进程拥有独立的数据段,堆栈。vfork:子进程与父进程共享数据段,堆栈。

      2. fork:父、子进程的执行次序不确定vfork:子进程先运行,父进程后运行

    1.3 进程等待wait

    1.3.1 函数原形

      pid_t wait(int* status);

    1.3.2 函数功能

      挂起调用它的进程,直到其子进程结束

    1.3.3 所属头文件

      <sys/types.h>    <sys/wait.h>

    1.3.4 返回值

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

      失败: -1

    1.3.5 参数说明

      status:记录子进程退出状态

    1.4 执行程序execl

    1.4.1 函数原形

      int execl(const char* pathname,const char*arg,…)

    1.4.2 函数功能

      运行一个可执行文件

    1.4.3 所属头文件

      <unsitd.h>

    1.4.4 返回值

      成功:不返回

      失败:返回

    1.4.5 参数说明

      Pathname:要运行的可执行文件路径

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

    1.5终止进程exit等同于_Exit

    1.5.1 函数原形

      void _exit(int status)

    1.5.2 函数功能

      终止正在调用的进程

    1.5.3所属头文件

      <unistd.h>

    1.5.4 返回值

      无

    1.5.5 参数说明

      status被用作进城退出状态返回给父进程

      父进程退出:可以是return 0和exit退出

      子进程退出:只能是exit

  • 相关阅读:
    web ERP前端技术选型
    poj1741 Tree 树的分治
    HDU4694 未AC
    zoj4100 Balanced Number 数位DP
    树的最小表示法 UVA 12489
    2013长沙网赛 I题 Grand Prix
    2013第八场多校
    2013第六场多校
    2013第五场多校
    ZOJ3724 树状数组+离线处理
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5302827.html
Copyright © 2011-2022 走看看