Bashでタイムアウトを設定する方法


Bashでは、timeoutコマンドを使用してタイムアウトを実装することができます。以下に、タイムアウトを設定する方法といくつかの使用例を示します。

# タイムアウトを5秒に設定してコマンドを実行する例
timeout 5s コマンド
# タイムアウト後に実行するデフォルトのアクションを指定する例
timeout --foreground -s SIGKILL 10s コマンド
# タイムアウト後に実行するカスタムアクションを指定する例
timeout --foreground -s SIGKILL -- bash -c 'echo "タイムアウトしました"'
# タイムアウト時に終了ステータスを返す例
timeout -s SIGINT 5s コマンド
echo "終了ステータス: $?"
# タイムアウト時に終了ステータスをカスタマイズする例
timeout -s SIGINT --preserve-status 5s コマンド
echo "終了ステータス: $?"

これらのコード例では、timeoutコマンドの引数としてタイムアウトの時間と実行するコマンドを指定します。タイムアウトが発生すると、指定されたアクションが実行されます。デフォルトでは、タイムアウト後にプロセスが終了しますが、--preserve-statusオプションを使用して終了ステータスをカスタマイズすることもできます。

以上がBashでタイムアウトを設定する方法の基本的な説明とコード例です。これを参考にしながら、自分のスクリプトにタイムアウト機能を追加してみてください。