zoukankan      html  css  js  c++  java
  • wait()与waitpid()与pthread_join()

    wait()与waitpid()用于等待进程结束

    #include <sys/wait.h>

    pid_t wait(int *statloc);          //参数获取终止状态

    pid_t waitpid(pid_t pid, int *statloc, int options);     //pid==-1时,与wait()等效。

      当一个进程正常或异常结束时,内核就向其父进程发送SIGCHLD信号。

        如果所有子进程都还在运行,则阻塞。

        如果一个子进程终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立即返回。

        如果没有子进程,则立即出错返回。

      区别:

        在一个子进程终止前,wait使其调用者阻塞,而wiatpid()有个选项,可使调用者不阻塞。

        waitpid()并不等待在其调用之后的第一个终止子进程,它有若干选项,可以控制它所等待的进程

        waitpid()提供的wait()的非阻塞版本。 有时用户想获得一个子进程的状态,但不想阻塞。

    pthread_join()用于等待线程结束。

  • 相关阅读:
    注册审核
    静态表单验证
    多条件查询
    0623TP框架联系
    0618框架 增删改练习
    php框架 数据添加
    0616框架查询
    0614空操作方法 空控制器 跨控制器调用 命名空间
    php 0613框架基础
    php查询
  • 原文地址:https://www.cnblogs.com/funnylinux/p/3554777.html
Copyright © 2011-2022 走看看