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

  • 相关阅读:
    Django之ORM基础
    Django基本命令
    Django知识总汇
    Linux Shell 自动化之让文本飞
    伪类link,hover,active,visited,focus的区别
    小记 Linux 之 Vim
    恢复 MSSQL bak 文件扩展名数据(上)
    小记一次shellscript的麻烦
    Java 之多态
    Java 之封装
  • 原文地址:https://www.cnblogs.com/funnylinux/p/3554777.html
Copyright © 2011-2022 走看看