timeout命令详解 timeout命令用于为执行其他命令设置一个时间限制-。如果被监控的命令在指定时间内没有完成timeout就会终止它-。它通常用于防止某个命令因意外而无限期运行-。timeout是GNU 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.com2. 指定超时信号默认发送SIGTERM信号可以用-s选项指定发送SIGKILL信号timeout -s SIGKILL 3s sleep 303. 使用--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命令查看更完整的官方文档。

相关新闻

最新新闻

Obsidian科研笔记系统终极指南:5大核心功能打造高效个人知识管理体系

Obsidian科研笔记系统终极指南:5大核心功能打造高效个人知识管理体系

Obsidian科研笔记系统终极指南:5大核心功能打造高效个人知识管理体系 【免费下载链接】obsidian_vault_template_for_researcher This is an vault template for researchers using obsidian. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian_vault_templa…

2026/7/26 16:47:52
Ubuntu浏览器卸载与软件管理全指南

Ubuntu浏览器卸载与软件管理全指南

1. Ubuntu下浏览器卸载与软件管理全指南在Linux桌面环境中,浏览器作为日常使用最频繁的应用程序之一,其安装和卸载的规范操作直接影响系统稳定性。最近在维护Ubuntu 22.04 LTS系统时,发现通过非标准方式安装的Opera浏览器产生了大量残留配置&…

2026/7/26 16:47:52
如何通过misakaX快速解锁iOS终极自定义功能:完全免费指南

如何通过misakaX快速解锁iOS终极自定义功能:完全免费指南

如何通过misakaX快速解锁iOS终极自定义功能:完全免费指南 【免费下载链接】misakaX iOS /iPadOS 16.0 - 18.0 / 18.1 beta 4, An ultimate customization tool, uilitizing the bug that makes TrollRestore possible. 项目地址: https://gitcode.com/gh_mirrors/…

2026/7/26 16:47:52
Docker多架构镜像构建实战与优化指南

Docker多架构镜像构建实战与优化指南

1. 为什么需要多架构镜像?第一次在树莓派上拉取x86架构的Docker镜像时,那个经典的"exec format error"错误让我记忆犹新。当时才真正意识到,在混合架构环境中,多架构镜像不是锦上添花,而是刚需。随着ARM架构…

2026/7/26 16:47:52
我把Zorin OS改造成Win11界面了,很丝滑

我把Zorin OS改造成Win11界面了,很丝滑

作为一名长期使用Linux的科技爱好者,我一直推荐Zorin OS给那些想从Windows过渡到开源系统的朋友。它基于稳定可靠的Ubuntu内核,继承了优秀的兼容性和软件生态,同时在桌面环境上进行了深度优化,让新手也能快速上手。 Zorin OS的核心亮点在于其高度可定制的桌面布局。官方提…

2026/7/26 16:47:52
如何快速部署Frigate:面向初学者的完整本地智能监控指南

如何快速部署Frigate:面向初学者的完整本地智能监控指南

如何快速部署Frigate:面向初学者的完整本地智能监控指南 【免费下载链接】frigate NVR with realtime local object detection for IP cameras 项目地址: https://gitcode.com/GitHub_Trending/fr/frigate 还在为传统监控系统的延迟卡顿、云端依赖和复杂配置…

2026/7/26 16:42:52

月新闻