timeout

运行带有时间限制的命令,运行给定的命令并在指定的时间间隔后仍在运行时将其终止

   ‘s’ 秒
   ‘m’ 分钟
   ‘h’ 小时
   ‘d’ 天

语法

   timeout [option] duration command [arg]...

选项



   command
       要执行的命令,这不能是一个特殊的内置实用程序

   --preserve-status
       返回托管命令的退出状态

   --foreground
       不要创建单独的后台程序组,以便
       managed命令可以正常使用前台TTY

   -k duration
   --kill-after=duration
       在指定的持续时间之后,通过发送' KILL '信号,确保被监视的命令被杀死

   -s signal
   --signal=signal
       在超时时将此信号发送到命令


   --help
        打印帮助

   --version
        打印版本号,然后成功退出。



退出状态:

 124 如果命令超时
 125 如果超时本身失败
 126 如果找到命令但无法调用
 127 如果找不到命令
 137 如果命令被发送KILL信号(128+9),则命令退出状态

例子

运行命令 (LongRunningCommand) 并在1分钟后超时(如果进程尚未完成):

$ timeout 1m LongRunningCommand

在命令之前和之后运行日期,将显示它花了多长时间:

$ date; timeout 1m LongRunningCommand; date

对crontab任务应用10秒的超时时间

 $ 0 1 * * * cronuser timeout 10s demo-script

timeout 命令实例:

linux命令:timeout 10 sleep 11 11 sleep 10 timeout timeout 10 sleep 11rootopen.com
linux命令:timeout 10 sleep 11 11 sleep 10 timeout timeout 10 sleep 11rootopen.com
2018-05-14 02:19:48

linux命令:timeout 5s COMMAND COMMAND 5s timeout timeout 5s COMMANDrootopen.com
linux命令:timeout 5s COMMAND COMMAND 5s timeout timeout 5s COMMANDrootopen.com
2018-03-22 01:48:48

linux命令:timeout -k 1m 30s some_command some_command 30s 1m -k timeout timeout -k 1m 30s some_commandrootopen.com
linux命令:timeout -k 1m 30s some_command some_command 30s 1m -k timeout timeout -k 1m 30s some_commandrootopen.com
2018-05-26 10:26:48

Linux的Bash命令行(A-Z排序)