Hasty Briefsbeta

双语

TIL: timeout in Bash scripts

a year ago
  • #Bash
  • #Scripting
  • #DevOps
  • Bash脚本可以使用`timeout`工具来限制命令的执行时间。
  • Bash中的`until`循环会检查条件(例如服务器健康状态),但如果条件始终不满足,可能会无限循环。
  • `timeout`会在命令超过指定时间限制时发送信号(默认为`SIGTERM`)以终止命令。
  • `timeout`不能直接与Shell内置命令(如`until`)一起使用,因为它们不是可终止的进程。
  • 一种解决方法是把`until`循环包装在一个单独的Bash进程或脚本中,从而让`timeout`能够有效管理它。