首页/系统/Linux 运维命令速查/timeout 限时执行命令
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条
进程与作业69 条
磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

timeout 限时执行命令

给命令设上限:timeout 10 curl ...;超时以 124 退出,-s KILL 强化、-k 付宽限时间,脚本防挂死必备。

Linux 运维命令速查系统更新于 2026-10-12
用途限制命令最长运行时间
语法timeout [选项] 时长 命令
退出码124 超时;125/126/127 为 timeout 自身错误

常用示例

常用示例
timeout 10 curl -sS http://10.0.0.9/health
timeout -s KILL 5 ./hang.sh                    # 超时直接杀
timeout 30 bash -c 'nc -z -w 25 10.0.0.9 443'   # 整体限时
timeout 1 sleep 5; echo $?                      # 输出 124
时长默认秒,支持 5s/2m/1h;组合 -k 5 表示信号发出后再等 5 秒升级为 KILL。

易错点

  • 被 timeout 杀死的是直接子进程:命令内部再拉起的孙进程可能残留(容器/进程组场景要留意)
  • 判断成功别只看退出码 124:命令自身也可能返回 124,上下文要写清楚

数据来源与参考

  • man 1 timeout(GNU coreutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌