シェルでコマンドのタイムアウト時間を設定します

シェルでコマンドのタイムアウト時間を設定します

シェルスクリプトを作成するときに、コマンドのタイムアウト期間を設定したい場合があります。コマンドが長時間実行されると、強制的に終了します。次の方法を使用できます。

timeout 3 sleep 30

スリープを3秒間実行すると、スリープは終了します。

タイムアウトコマンドの概要

指定されたコマンドを実行します。指定された時間後も実行されている場合は、プロセスを強制終了します。プログラムの実行時間を制御するために使用されます。

指示

timeout [选项] 数字[后缀] 命令 [参数]...

接尾辞「s」は秒を表します(デフォルト値、「m」は分を表し、「h」は時間を表し、「d」は日を表します)。

オプション紹介

长选项必须使用的参数对于短选项时也是必需使用的。
  -s, --signal=信号
        指定在超时时发送的信号。信号可以是类似"HUP"的信号名或是信号数。
        查看"kill -l"以获得信号列表
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

如果程序超时则退出状态数为124,否则返回程序退出状态。
如果没有指定信号则默认为TERM 信号。TERM 信号在进程没有捕获此信号时杀死进程。
对于另一些进程可能需要使用KILL (9)信号,当然此信号不能被捕获。

おすすめ

転載: blog.51cto.com/13447608/2561992