wait 与 waitpid 对比
底层都是调用 Linux 的waitpid()系统调用wait只是一个简化包装。1. 函数原型$ret wait(); # 无参数 $ret waitpid($target_pid, $flags); # 两个参数2. 核心功能wait()等待任意一个已经退出的子进程谁先僵尸就回收谁。返回被回收子进程的 PID没有子进程时返回 -1行为阻塞直到抓到任意子进程退出。等价于waitpid(-1, 0)✅ 优点写法简单不用写 PID ❌ 缺点不锁定目标。如果存在多个子进程它会抢先回收最先死掉的那一个不一定是你想要的。waitpid($pid, $flags)定向等待指定的子进程由第一个参数$pid控制目标。$pid 0只等待这个特定 PID我们监控脚本的用法$pid -1等价于wait()等待任意子进程$pid 0等待同进程组内任意子进程$pid 0等待该绝对值对应的进程组内任意子进程第二个参数$flags标志位0阻塞模式卡住直到目标子进程退出WNOHANG非阻塞立刻返回不会卡住需要use POSIX✅ 优点意图明确锁定目标 PID支持非阻塞模式。 ❌ 缺点要写 PID代码长一点点。3. 返回值统一规则两者一样返回 0成功数值就是刚刚退出的子进程 PID返回 0仅 WNOHANG 非阻塞模式目标子进程还活着返回 -1出错没有子进程 / PID 不存在注意阻塞模式flags0下 waitpid 永远不会返回 04. 退出状态 $?wait /waitpid 执行成功后都会填充全局变量$?里面是打包的退出状态字。 解析方式完全相同# 手动位运算 my $exit_code $? 8; my $signal_num $? 0xff; # 或者用POSIX宏可读性更好 use POSIX qw(WEXITSTATUS WTERMSIG); my $exit_code WEXITSTATUS($?); my $signal_num WTERMSIG($?);5. 场景选择重点适配你的脚本场景 A父进程只会 fork 出唯一 1 个子进程wait()和waitpid($kid,0)都可以正常工作。# 写法简单 wait; # 意图明确推荐严谨脚本 waitpid($kid,0);虽然 wait 能用但维护角度推荐 waitpid。未来如果新增别的子进程代码不会突然出现诡异 bug。场景 B父进程存在多个子进程❌ 不能用wait()它会抢收任意子进程逻辑错乱。 ✅ 必须用waitpid(特定PID, 0)定向等待。场景 C循环里一边干活一边探测子进程是否结束非阻塞❌ wait () 做不到wait 会卡住不动。 ✅ waitpid WNOHANG非阻塞探测。6. 极简对照表项目wait()waitpid($pid, $flags)等待对象任意子进程由 $pid 指定可以锁定单个 PID是否阻塞永远阻塞flags0 阻塞WNOHANG 非阻塞参数无两个参数多子进程场景危险乱回收安全可以锁定目标底层waitpid (-1,0) 的封装原生系统调用7. 一句话总结wait()等待随便哪个子进程适合一次性、只有单个子进程的简单脚本扩展性差。waitpid($pid,0)只等你指定的那一个子进程意图清晰适合运维 / 监控这类严谨脚本优先选这个。

相关新闻

h3.c画布与时长选择指南:512到768p分辨率和帧数配置的最佳实践

h3.c画布与时长选择指南:512到768p分辨率和帧数配置的最佳实践

h3.c画布与时长选择指南:512到768p分辨率和帧数配置的最佳实践 【免费下载链接】h3.c MiniMax H3 inference engine for Mac computers 项目地址: https://gitcode.com/gh_mirrors/h3/h3.c h3.c 是面向 Apple Silicon 的 MiniMax H3 原生视频推理引擎&#x…

2026/10/1 15:26:17 阅读更多 →
【CANN比赛】算子开发比赛

【CANN比赛】算子开发比赛

【全局生态】 【码力全开特辑】一张图看懂CANN:技术架构与编程开发全景_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV11nac68EEZ/?spm_id_from333.337.search-card.all.click&vd_source1f3f694d074ce0ac334eb3023001f728 【Cube算子】 【2024CANN训…

2026/10/1 15:26:17 阅读更多 →
告别繁杂的科研写作事务!Paperxie 一站式 AI 写作工具真心安利

告别繁杂的科研写作事务!Paperxie 一站式 AI 写作工具真心安利

前言 临近毕业季,不少同学一边实习备考,一边埋头打磨自己的学术文章,时间被拆解得支离破碎。 着手准备一篇完整的学术文章,第一道难关就是文献处理:外文资料晦涩难懂,中文文献堆积如山,梳理研究…

2026/10/1 15:26:17 阅读更多 →

最新新闻

电梯开关与乘客检测数据集实战:YOLO/VOC格式转换与训练避坑

电梯开关与乘客检测数据集实战:YOLO/VOC格式转换与训练避坑

简介:面向计算机视觉目标检测的电梯开关与有无乘客检测数据集,包含六百一十张清晰电梯场景图片,覆盖关梯、空梯、开梯、有乘客四类典型状态,适用于智慧楼宇、监控安防等场景的状态识别模型研发与算法验证。标注采用矩形框形式&…

2026/10/1 16:16:37 阅读更多 →
基于Springboot宠物领养流程数字化管理系统【附源码+文档】

基于Springboot宠物领养流程数字化管理系统【附源码+文档】

💕💕作者: 米罗学长 💕💕个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 💕💕各类成品Java毕设 。ssm,springboot,vue等项目&#xff0…

2026/10/1 16:16:37 阅读更多 →
真空膜蒸馏耦合微泡曝气处理高盐有机浓水——从有机预污染层抑湿到剪切/静电协同防垢

真空膜蒸馏耦合微泡曝气处理高盐有机浓水——从有机预污染层抑湿到剪切/静电协同防垢

论文来源:Wei Zhang, Shuili Yu, Rongsheng Ning, Pan Li, Xingli Ji, Ying Xu. Treatment of high-salinity brine containing dissolved organic matters by vacuum membrane distillation: A fouling mitigation approach via microbubble aeration[J]. Journal …

2026/10/1 16:16:37 阅读更多 →
OpenMuse 浏览器网络边界剖析:用回环代理与 DNS 校验彻底防住 SSRF 攻击

OpenMuse 浏览器网络边界剖析:用回环代理与 DNS 校验彻底防住 SSRF 攻击

OpenMuse 浏览器网络边界剖析:用回环代理与 DNS 校验彻底防住 SSRF 攻击 【免费下载链接】openmuse A personal agent with a browser, terminal, files, and work that keeps going built with CopilotKit and AG-UI. 项目地址: https://gitcode.com/gh_mirrors/…

2026/10/1 16:16:37 阅读更多 →
全志A733量产级AI芯片深度解析:定位、架构与迁移实践

全志A733量产级AI芯片深度解析:定位、架构与迁移实践

最近不少做方案的同行都在问全志A733这颗料。说实话,这个型号在圈子里的热度来得比我想象中快。大家在意的点很一致:这已经不是全志以前那种"能跑Linux的便宜货",而是一颗真正面向中高端智能终端的AI芯片,并且已经走完了…

2026/10/1 16:16:37 阅读更多 →
基于深度学习算法的体育用品推荐系统

基于深度学习算法的体育用品推荐系统

2026/10/1 16:15:36 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →