• 多进程程序设计,王明学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

  • 相关阅读:
    JavaBean理解
    你应该掌握的七种回归技术
    回归分析步骤
    rsync命令(同步/备份数据)
    获取客户端访问的ip地址
    SSO单点登陆
    产品分类之属性选择
    linux的SVN搭建与同步
    php 实现 mysql数据表优化与修复
    php程序备份还原mysql数据库
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5302827.html
Copyright © 2020-2023  润新知