当前位置: 首页 > news >正文

timeout命令详解

timeout命令用于为执行其他命令设置一个时间限制-。如果被监控的命令在指定时间内没有完成,timeout就会终止它-。它通常用于防止某个命令因意外而无限期运行-。

timeoutGNU coreutils软件包的一部分,因此几乎在所有的Linux发行版中都预装了。

基本语法

timeout [选项] 持续时间 命令 [命令参数...]

常用选项

选项说明
-s, --signal=<信号>指定超时发生时发送的信号,默认为SIGTERM
-k, --kill-after=<持续时间>在发送初始信号后,若命令仍未结束,再等待指定的时间后发送SIGKILL信号强制终止。
--preserve-status即使命令超时,也返回该命令的退出状态,而不是默认的124
--foreground当需要命令与终端(TTY)交互时使用,可避免因创建新进程组而导致的问题。
-v, --verbose在超时发送信号时,向标准错误输出诊断信息。

持续时间格式

持续时间可以是一个浮点数,并支持以下后缀:

  • s:秒(默认)

  • m:分钟

  • h:小时

  • d:天

例如,1.5m等同于 90 秒。如果将持续时间设为0,则会禁用超时功能。

退出状态

timeout命令的退出状态可以帮助判断执行结果:

  • 124:被监控的命令超时(且未使用--preserve-status选项)。

  • 125timeout命令自身执行失败。

  • 126:找到了命令,但无法执行。

  • 127:未找到要执行的命令。

  • 137:命令被SIGKILL(9) 信号杀死。

  • 其他:被监控命令正常退出时的状态码。

使用示例

1. 基本用法:限制命令运行时间

ping命令运行5秒后自动停止-:

timeout 5s ping www.baidu.com

2. 指定超时信号

默认发送SIGTERM信号,可以用-s选项指定发送SIGKILL信号:

timeout -s SIGKILL 3s sleep 30

3. 使用--kill-after优雅终止

给命令5秒时间自行结束(SIGTERM),如果3秒后仍未退出,则强制杀死(SIGKILL)。此例中命令最长运行5 + 3 = 8秒。

timeout -k 3s 5s 你的命令

4. 保留被监控命令的退出状态

使用--preserve-status,当command超时时,timeout也会返回command自身的退出码。

timeout --preserve-status 5s 你的命令

5. 处理交互式命令

对于需要从终端读取输入的命令(如sshtop),使用--foreground选项可以避免交互问题。

timeout --foreground 10s top

注意事项

  • 默认信号SIGTERM可以让进程有机会进行清理工作(如保存数据、关闭文件),但进程也可以选择忽略它。

  • 子进程问题timeout默认会创建一个新的进程组来运行目标命令。这意味着它主要监控的是直接启动的进程,其子进程(孙进程)可能成为孤儿而继续运行。

  • 极短超时:设置非常短(如亚秒级)的超时时间可能因系统调度开销而不够精确-6。

  • 2038年问题:在某些平台上,不支持设置超过2038年的超时时间。

  • 查看完整手册:在终端中,可以使用info coreutils 'timeout invocation'命令查看更完整的官方文档。

http://www.jsqmd.com/news/1268475/

相关文章:

  • 清奢黄金回收盘点丽水市七家店让你卖金不踩一个暗坑 - 新芸鼎珠宝首饰
  • Illustrator脚本终极指南:如何用20个免费插件让你的设计效率提升300%
  • 如何用一个软件统一控制所有RGB设备:OpenRGB完整指南
  • 3个核心痛点+5个独特优势:为什么数十万用户选择Salt Player作为本地音乐解决方案
  • 2026年桑葚酒避坑指南:三个硬标准识别低价陷阱 - 万相科技
  • AI视频真的能提升学生成绩吗?——追踪3726名中学生18个月实验后,我们发现了让留存率飙升210%的2个隐藏参数
  • 终极iOS降级指南:让A6/A7设备重获新生的完整教程
  • 基于YOLO与多模态融合的X光安检AI系统开发
  • 5分钟解锁缠论分析:通达信智能插件带你告别复杂图表
  • 如何彻底解决城通网盘下载限速:免费开源解析工具终极指南
  • 如何快速搭建多协议QQ机器人:LuckyLilliaBot完整指南
  • 南宁易奢福江南区香奈儿包包回收|线下实体变现|13 家门店同城估价 - 回收奢侈品探店测评
  • 5个实战技巧:用AccelStepper提升你的Arduino步进电机控制水平
  • 六西格玛绿带和黑带怎么选——众智商学院张明老师选择指南 - 众智商学院cppm官方
  • Linux文件打包与压缩技术详解
  • 清奢黄金回收在苏州市:七家店上门回收黄金铂金钻戒,全城可达 - 新芸鼎珠宝首饰
  • 5分钟上手JD-GUI:Java反编译工具快速入门指南
  • SlopeCraft终极指南:5步将任意图片转为Minecraft立体地图画
  • 终极AI瞄准辅助指南:用YOLOv8深度学习技术提升FPS游戏体验
  • 惠普暗影精灵游戏本终极性能控制神器:OmenSuperHub完全使用指南
  • 孝感寄宿制武校哪家好?武当山精武武校食宿条件实拍 - 圣龙武术朱老师
  • 2026 北京东城区易奢福奢侈品回收线上线下报价完全一致,没有隐形消费 - 奢侈品回收实体店
  • 免费开源虚拟桌面伴侣:Mate Engine完整使用指南
  • TMS320C54CST:PSTN时代的集成DSP芯片设计与开发实战
  • 3大智能革新:illustrator-scripts如何让你的设计效率飙升
  • 2026 大连易奢福名包回收怎么样,0 套路经营,交易流程简单顺畅 - 肉松卷
  • 2026 大连名包回收估价平台,易奢福线上线下报价完全一致不欺客 - 肉松卷
  • TI CC2591射频前端芯片深度解析:提升2.4GHz无线通信距离的实战指南
  • 从TMS320C3x DSK硬件设计解析DSP系统核心原理与工程实践
  • AI技术行业应用全景与落地实践