Linux Umountデバイス自体で実行されているスクリプトからのデバイス
質問
パスにマウントされたISOイメージ:
/mnt/iso
.
このISO Install Script Install.sh ISOからインストールスクリプトを実行し、末尾にスクリプトがISOそのものをつかみたい場合はユーザーに尋ねます。 ユーザーが「y」を押すと、次のコードが実行されます。
cd /
umount /mnt/iso
echo "Installation completed!"
.
残念ながら、スクリプトがUMANTの実行を試みるときはエラー
umount: /mnt/iso: device is busy
.
仮想デバイスがスクリプト自体から忙しいという事実に起因しているとします。 どうやってそれを作ることができますか? TNX
解決
-l
または--lazy
スイッチを使用して、遅延ウマオウトを実行する遅延umountを実行します。マニュアルページの詳細な説明(これはLinux固有のオプションです)は次のとおりです。
怠惰なアンマウント。ファイルシステムをファイルシステム階層から切り離します 今ではなくファイルシステムへのすべての参照をクリーンアップする もう忙しいです。(カーネル2.4.11以降が必要です。)
他のヒント
Tomhのソリューションは、最新のものを使用している場合に問題を解決します。そうでなければ、Simone Palazzoによるコメントはあなたの最善の策です。マウント解除されている領域にあるスクリプトを通して何かをマウント解除しています。ルートディレクトリからスクリプトを実行すると成功します。
所属していません StackOverflow