これは、10秒間休止状態を維持した後にエコーされる小さなファイルです。
#!/bin/bash
sleep 10
echo $$
ctrl-zを使用してスクリプトを実行し、./test
3秒ほど停止すると、実行に対応するジョブとプロセスグループが停止したことがわかります。ただし、fg
10秒以上実行すると、シェルはすぐに端末にエコーされます。仕事をやめても睡眠過程が続くのはなぜですか?
ベストアンサー1
仕事をやめても睡眠過程が続くのはなぜですか?
これは本当ではありません。 「アクティブ」睡眠はありません。 sleepの機能は、オペレーティングシステムに次のことを知らせることです。
この操作を一時停止し、10秒後に再度有効にします。
したがって、カウントダウンされるタスクはユーザーのタスクではなく、オペレーティングシステムのタイマーです。 Ctrl-Z を押してジョブを一時停止すると、ジョブは引き続き実行されます。
これがまさに私が期待した行動です。静止状態で長く眠るのはどんな役に立ちますか?どちらの週もスケジュールされておらず、「2回待つ」は問題ではありません。