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()用于等待线程结束。

  • 相关阅读:
    numpy用法介绍-未完待续
    GeoJSON相关操作
    awk日志分析
    awk获取外部变量
    Shell编程二
    Shell编程
    Linux监控平台搭建
    Linux集群架构
    Linux集群
    MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
  • 原文地址:https://www.cnblogs.com/funnylinux/p/3554777.html
Copyright © 2011-2022 走看看