wait,waitpid
2024-09-07 03:16:42
要求
用man wait, man waitpid学习wait waitpid的使用
2 写出wait 的测试代码,要能说明你理解了wait 的返回值的每一位的含义
实验:
----------
man wait(wait 帮助)
所有这些系统调用都用于等待子进程中的状态更改的调用过程,并获取有关其的子进程的信息状态已经改变了。状态更改被认为是:子ter\u2010管理层;子进程被一个信号拦住了;或者子进程被一个信号。对于终止的子进程,执行等待是允许的释放与子进程关联的资源的系统;如果一个不执行等待,则终止的子进程仍然处于“僵死状态”
如果一个孩子已经改变了状态,那么这些调用将返回immedi\u2010吃了。否则,它们将阻塞,直到子节点更改状态或信号处理程序中断调用(假设系统调用没有中断)使用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并不等待第一个终止的子进程—它有若干个选择项,可以控制它所等待的特定进程。
最新文章
- asp.net MVC控制器中返回JSON格式的数据时提示下载
- HTML之表格制作
- SRS(simple-rtmp-server)
- Hibernate 一级缓存的陷阱
- 注解Annotation 详解(转)
- css3 旋转效果加上双面显示效果
- 裸眼3D立体显示技术原理详解
- CSS3的过渡效果(transition)与动画(animation)
- opencv 训练自己的分类器汇总
- Abp(.NetCore)开发与发布过程
- Array类的Sort()方法
- Lucene 07 - 对Lucene的索引库进行增删改查
- 关于我与小组成员逐步升级C代码时的一些感想【第二次作业】
- photoshop学习3
- DeepLearning.ai-Week1-Convolution+model+-+Step+by+Step
- B - Assignment
- golang pprof 内存分析
- Hadoop日记Day15---MapReduce新旧api的比较
- linux环境中nagios(nagios core)安装?nagios安装?
- duilib 实现 XML重用(item完全重合的CList)