現在、私は2つの異なるwhile
ループを使用してウィンドウマネージャを起動します。データ管理、システム情報が印刷されるステータスバーです。
私の現在の解決策は、次のように同じスクリプトで連続して実行することです。
while true; do
$HOME/Scripts/dwm-status
sleep 2s
done &
while true; do
dwm >/dev/null
done
私も持っている走っているのを見て次のようにネストされたwhile
ループとして使用されます。
while true; do
while true; do
$HOME/Scripts/dwm-status
sleep 2s
done &
dwm >/dev/null
done
2番目はCPUスパイクを引き起こすようです。効率性(最小リソース呼び出しなど)の観点からこれらの2つのループを実行する最良の方法は何ですか?なぜ?
答え1
私が何か明白なことを指摘したかはわかりませんが、最初の方法は永遠に実行される2つのループを作成することです。永遠に循環。 - 無限ループの回数を増やします。無限ループを作成し、dwmを実行して、別の無限ループを作成します。最初の無限ループはまだ停止していません。各パスは、他のループがすでに実行されていても、別のdwm-statusループを生成します(while true
無限に実行するようにします)。