バックグラウンドでディレクトリを順次削除すると同時にディレクトリを削除する[重複]

バックグラウンドでディレクトリを順次削除すると同時にディレクトリを削除する[重複]

私が書いているスクリプトのいくつかは、rm -rf両方のディレクトリを完全に削除することです。

これらのディレクトリは比較的大きいため、削除するのにかなり長い時間がかかることがあります。

現在、次のディレクトリは順次削除されます。

rm -rf dir1
rm -rf dir2

次の手順でバックグラウンドで同時に削除する方が高速ですか?

rm -rf dir1 &
rm -rf dir2 &
wait

それではなぜ?

ベストアンサー1

時々違うよね

削除されたファイルが同じファイルシステムとハードウェアデバイスにある場合、オペレーティングシステムは最終的に物理リソースがハードウェアで実際の操作を実行するのを待つため、連続しています。各インスタンスは、rm他のインスタンスが完了したときに1つのインスタンスを使用できるようにタスクをキューに入れますが、これはあまり改善されていないと期待していません。

2つの異なるFS /ハードウェアデバイス上のファイルにこのようなことが発生すると、rm実際には並列で非同期なので、速度が2倍速くなります。

おすすめ記事