ジョブが停止した後も、省電力プロセスが続行されます。

ジョブが停止した後も、省電力プロセスが続行されます。

これは、10秒間休止状態を維持した後にエコーされる小さなファイルです。

#!/bin/bash
sleep 10
echo $$

ctrl-zを使用してスクリプトを実行し、./test3秒ほど停止すると、実行に対応するジョブとプロセスグループが停止したことがわかります。ただし、fg10秒以上実行すると、シェルはすぐに端末にエコーされます。仕事をやめても睡眠過程が続くのはなぜですか?

ベストアンサー1

仕事をやめても睡眠過程が続くのはなぜですか?

これは本当ではありません。 「アクティブ」睡眠はありません。 sleepの機能は、オペレーティングシステムに次のことを知らせることです。

この操作を一時停止し、10秒後に再度有効にします。

したがって、カウントダウンされるタスクはユーザーのタスクではなく、オペレーティングシステムのタイマーです。 Ctrl-Z を押してジョブを一時停止すると、ジョブは引き続き実行されます。

これがまさに私が期待した行動です。静止状態で長く眠るのはどんな役に立ちますか?どちらの週もスケジュールされておらず、「2回待つ」は問題ではありません。

おすすめ記事