timeout コマンド 2016/03/25
任意のコマンドを実行して、一定時間経過しても終了しなかったら、そのコマンドを強制的に終了させるコマンド。
例
## 10秒間pingし続ける
$ timeout 10 ping www.google.co.jp
## 1分間pingし続ける
$ timeout 1m ping www.google.co.jp
単位はデフォルトでは秒だが、以下のような表現ができる。
10s
- 10秒間
10m
- 10分間
10h
- 10時間
10d
- 10日間
タイムアウトに達してコマンドが強制終了した場合はtimeout
コマンドは124
という終了コードを返す。コマンドが見つからなかった場合は127
という終了コードを返す。
コマンドの終了はTERM
シグナルによって行われるみたい。
$ timeout 1 sh -c "trap 'echo trapped' TERM; sleep 10"
Terminated
trapped
# 1秒で終了する
このシグナルは -s
オプションで変更できる。
インストール 2016/03/24
Coreutilsというパッケージに入っているので、CentOSにもUbuntuにも始めから入っている。