timeout - 运行一个带有时间限制的命令
概要
timeout [选项] 持续时间 命令 [参数]...
timeout [选项]
描述
启动命令,如果命令仍在指定时间后运行,则将其终止。
长选项的必需参数,对于短选项也是必需的。
-f, --foreground
当不在 shell 提示符处直接运行 timeout 时,允许命令从 TTY 读取并接收 TTY 信号;在这种模式下,命令的子进程不会被超时处理。
-k, --kill-after=持续时间
如果在发送初始信号后,命令仍在运行,则还会发送 KILL 信号。
-p, --preserve-status
即使命令超时,也以与命令相同的状态退出。
-s, --signal=信号
指定超时时要发送的信号;信号可以是像 'HUP' 这样的名称或一个数字;请参阅 'kill -l' 以获取信号列表。
-v, --verbose
诊断在超时时发送的任何信号。
--help 显示此帮助信息并退出。
--version
输出版本信息并退出。
持续时间是一个浮点数,带有一个可选后缀:'s' 表示秒(默认值)、'm' 表示分钟、'h' 表示小时或 'd' 表示天。 持续时间为 0 会禁用相关的超时。
在超时时,向命令发送 TERM 信号(如果未指定其他信号)。 TERM 信号会终止任何未阻止或捕获该信号的进程。 可能会有必要使用 KILL 信号,因为该信号无法被捕获。
退出状态:
124 如果命令超时,并且未指定 --preserve-status。
125 如果 timeout 命令本身失败。
126 如果找到命令但无法调用。
127 如果找不到命令。
137 如果命令(或 timeout 本身)收到 KILL(9)信号(128+9)。
- 否则,是命令的退出状态。
错误
某些平台目前不支持超过 2038 年的超时。
作者
Padraig Brady 编写。
报告错误
GNU coreutils 在线帮助:[https://www.gnu.org/software/coreutils/] 将任何翻译错误报告到 [https://translationproject.org/team/]
参见
kill(1)
完整文档 [https://www.gnu.org/software/coreutils/timeout] 或在本地通过以下方式提供:info '(coreutils) timeout invocation'
由 Debian 软件包(9.7-3)提供 版权所有 © 2025 自由软件基金会。 许可证 GPLv3+:GNU GPL 第 3 版或更高版本 [https://gnu.org/licenses/gpl.html]。 这是一个自由软件:您可以自由地修改和重新分发它。 在法律允许的范围内,不提供任何保证。