timeoutコマンドを使用すると、他のコマンドやプログラムの実行に時間制限を設定できます。プログラムが設定された制限より長く実行されると、タイムアウトによってプログラムが強制終了されます。
いいですね。このコマンドの使い方を見てみましょう。
Linuxでのタイムアウトコマンドの使用

タイムアウトコマンドの構文は次のとおりです。
timeout [options] seconds command
ご覧のとおり、ここでは常に秒単位で設定されています。
sleepコマンドの例を見てみましょう。スリープコマンドは、基本的に割り当てられた時間まで「スリープ」します。つまり、その秒数だけ待機するということです。
timeout 4 sleep 10
したがって、sleep 10を使用すると、シェルは10秒間待機します。しかし、タイムアウトを4秒にすると、10秒間実行されるはずだったsleepコマンドはわずか4秒で終了します。
デフォルトでは、timeoutコマンドはSIGTERMを送信して、実行中のプログラムを丁寧に強制終了します。 -sオプションを使用して他の信号を送信できます。
Linuxでkill-lコマンドを使用すると、すべてのkillシグナルを確認できます。デフォルトのSIGTERMの代わりにSIGKILLシグナル(kill -9)を送信したいとします。次のようなものを使用できます:
timeout -s SIGKILL 3 sleep 30
SIGKILLの代わりにKILLまたは9(kill -lにリストされているSIGKILLの番号)を使用することもできます。
プログラムをハードキルするのは良いことではありません。ただし、プログラムはSIGTERMを無視できます。
処理するためのより良い方法は、実行中のプログラムによって最初の終了要求が無視された場合にのみ、killシグナルを送信することです。
したがって、5秒以内にプログラムを実行したいとします。ただし、実行中のプログラムが停止を拒否した場合は、デフォルトのSIGTERMを送信してから3秒後にkillシグナルを送信します。使用できるものは次のとおりです:
timeout -k 3 5 program
これは、プログラムが8秒を超えて実行されないことを意味します。 timeコマンドを使用して、プログラムが実際に実行された時間を確認できます。
タイムアウトコマンドの実用的な使用法はありますか?
毎日使用しないかもしれないそれらのあいまいなLinuxコマンドの1つのように聞こえます。ただし、特別な状況では役立つ場合があります。
たとえば、少し気分をリフレッシュするためにターミナルゲームをプレイし始めたが、時間を忘れて、希望の時間をはるかに超えてプレイし続けた場合。
このような場合、timeoutコマンドが役立ちます。
Linuxコマンドの詳細については、しばらくお待ちください。ニュースレターを購読して、定期的なヒントやコツを入手してください。