No.078プロセスとジョブ
sleep
スリープ・一時停止
指定時間だけ待機します。スクリプトの間隔調整や簡単な同期待ちで役立つ基本コマンドです。
答えよく使う形
$ date +%T
sleep 2
date +%T
12:00:00 12:00:02
$ sleep 0.5
0.5秒待機
$ sleep 5
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中でLPIC-1・54 駅め / 106
どんなコマンド?
再試行前の間隔調整、簡単なデモ、短いループ間隔、ジョブ制御の練習に使います。
sleepは、指定した時間だけ現在の処理を待機させるコマンドです。見た目は単純ですが、再試行、タイミング調整、監視の間引き、デモ用の動作確認など、実務でも頻繁に登場します。
GNU実装では秒だけでなく、m、h、dの接尾辞や小数秒も扱えます。移植性を重視するスクリプトでは環境ごとの差を意識して書く必要があります。
sleepはあくまで単純な待機であり、相手が準備できるまで待つことを保証するものではありません。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ sleep
使用例と実行結果
行を押すとコピーできます。
12:00:00 12:00:02
0.5秒待機
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 2
つまずいたとき
sleepを入れたのにサービス準備が間に合わない
原因固定待機だけでは相手の準備完了を保証できません。
こうする状態確認コマンドや再試行ループと組み合わせます。
環境によって小数秒指定が動かない
原因実装差により対応範囲が異なります。
こうする移植性が必要な時は単純な秒指定を使います。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。指定時間の待機を完了しました。
- >0不正な時間指定などで待機を開始できませんでした。
気をつけることと入れ方
危険度は低いですが、状態確認なしの固定待機を多用すると、待ち過ぎや待ち足りなさの両方を招きます。
環境による違い
POSIXでは基本的な秒指定が中心ですが、GNU実装では小数やm、h、dなどの接尾辞が使えます。
確かめた環境2026-04-09 に確認
よくある質問
sleepだけで同期制御できますか。
単純な待機には使えますが、状態確認まで含めた同期には別の確認手段も必要です。
複数引数を渡せますか。
GNU実装では複数値の合計を待機できますが、単純な一つの値が安全です。
資格試験では
- LinuC レベル1大事1.01.4 プロセスの生成、監視、終了
- LPIC-1大事103.5 Create, monitor and kill processes
- 共通基礎大事Linuxコマンド基礎
sleep を最後まで読みました。
Linux コマンド辞典に戻る104 / 144