sleepコマンド
sleepコマンド:
コマンドの実行を特定の期間一時停止する場合は、sleepコマンドを使用できます。遅延量は、 秒(s)、分(m)、時間(h)、および日(d)で設定できます。‘sleep_example.sh’ という名前のファイルを作成し、次のスクリプトを追加します。このスクリプトは、実行後5秒間待機します。
#!/bin/bash
echo “Wait for 5 seconds”
sleep 5
echo “Completed”
bashコマンドでファイルを実行します。
$ bash sleep_example.sh
“Wait for 5 seconds”
“Completed”
$
わかりにくいですね。
少し高度だけど、わかりやすいサンプルも書いておきます。
wait コマンドのサンプル
sleep コマンドをバックグラウンドで実行させ、前の章で使ったwait コマンドで同期をとります。。バックグランドで実行したコマンドのプロセス ID は $! で取得できます。
#!/bin/bash
for((i=0;i<3;i++));do
sleep 5 &;
array[i]=$!;
echo "Sleeping: ${i} : ${array[i]}";
done
wait ${array[@]};
echo "Finish!!";
- ヒント
- 二つのコマンドの違いは以下の通りです。
- sleepは指定した時間だけ処理を遅延
- waitはプロセスやジョブの終了を待つ