ドライブのマウントとマウント解除の両方にAppleScriptを作成しました。
オプティカルベイの通常のHDD。Macbook Pro(2006年後半)。OSXライオン
ディスクユーティリティを開いたり、スリープから再開したり、ドライブを再マウントしたりしない限り、ドライブはスピンダウンしてそのままの状態を保ちます。Spotlightによってドライブがスピンアップすることはありません。どちらも、ドライブ上のエイリアスにアクセスしようとしません。
-ドライブの取り出しを妨げる実行中のプロセスが開いている場合、スクリプトはアクティビティモニターを開き、ターミナルウィンドウでlsofを実行します。
-その後、プロセスを強制終了するかどうかを決定できます。
-ダイアログボックスは、ユーザーの確認を求めて殺します。
これらをapplescriptメニューから実行します。次のように有効にできます。
- AppleScript Editor.appを開きます(アプリケーション->ユーティリティ)。
- 設定を開く…。
- 「メニューバーにスクリプトメニューを表示する」をチェックしてください。
マウントドライブ
on run
try
do shell script "diskutil mountDisk disk1"
on error
end try
end run
ドライブをアンマウントします
on run
try
do shell script "hdiutil eject disk1"
on error
tell application "System Events"
set termOpen to count (processes whose name is "Terminal")
set amOpen to count (processes whose name is "Activity Monitor")
end tell
tell application "Terminal"
activate
set newTab to do script "lsof /Volumes/'HFS HD'"
end tell
tell application "Activity Monitor"
activate
end tell
delay 3
set question to display dialog "Kill running?" buttons {"Yes", "No"} default button 2
set answer to button returned of question
if answer is equal to "Yes" then
do shell script "lsof -P | grep '/Volumes/HFS HD' | awk '{print $2}' | xargs kill -9"
do shell script "hdiutil eject disk1"
end if
tell application "Activity Monitor"
if amOpen is 0 then
quit
end if
end tell
tell application "Terminal"
if termOpen is 0 then
quit
else
close (first window whose selected tab is newTab) saving no
end if
end tell
end try
end run
私にぴったりの作品です。うまくいけばあなたも成功します!