zoukankan      html  css  js  c++  java
  • wait,waitpid

    要求

    用man wait, man waitpid学习wait waitpid的使用
    2 写出wait 的测试代码,要能说明你理解了wait 的返回值的每一位的含义
    实验:

    man wait(wait 帮助)


    所有这些系统调用都用于等待子进程中的状态更改的调用过程,并获取有关其的子进程的信息状态已经改变了。状态更改被认为是:子teru2010管理层;子进程被一个信号拦住了;或者子进程被一个信号。对于终止的子进程,执行等待是允许的释放与子进程关联的资源的系统;如果一个不执行等待,则终止的子进程仍然处于“僵死状态”
    如果一个孩子已经改变了状态,那么这些调用将返回immediu2010吃了。否则,它们将阻塞,直到子节点更改状态或信号处理程序中断调用(假设系统调用没有中断)使用sigaction(2)的SA_RESTART标志自动重新启动。在此页面的其余部分为状态已更改的子元素和状态已更改的子元素还没有被这些系统调用中的一个称为可等待。

    • wait系统调用会使父进程暂停执行,直到它的一个子进程结束为止。
    • 返回的是子进程的PID,它通常是结束的子进程
    • 状态信息允许父进程判定子进程的退出状态,即从子进程的main函数返回的值或子进程中exit语句的退出码。
    • 返回值:如果成功返回等待子进程的ID,失败返回-1
    • 对于waitpid的p i d参数的解释与其值有关:
    • pid == -1 等待任一子进程。于是在这一功能方面waitpid与wait等效。
    • pid > 0 等待其进程I D与p i d相等的子进程。
    • pid == 0 等待其组I D等于调用进程的组I D的任一子进程。换句话说是与调用者进程同在一个组的进程。
    • pid < -1 等待其组I D等于p i d的绝对值的任一子进程
      wait与waitpid区别:
    • 在一个子进程终止前, wait 使其调用者阻塞,而waitpid 有一选择项,可使调用者不阻塞。
    • waitpid并不等待第一个终止的子进程—它有若干个选择项,可以控制它所等待的特定进程。

  • 相关阅读:
    常用的居中方法
    CSS实现盒子高度撑开且以最高的为高
    利用vertical-align实现行内元素对齐
    CSS实现模糊效果
    【LeetCode 37】解数独
    【LeetCode 36】有效的数独
    【LeetCode 35】搜索插入位置
    【LeetCode 34】在排序数组中查找元素的第一个和最后一个位置
    【LeetCode 33】搜索旋转排序数组
    【LeetCode 32】最长有效括号
  • 原文地址:https://www.cnblogs.com/lsqz/p/11804062.html
Copyright © 2011-2022 走看看