ฉันได้ทำ applescripts ให้กับทั้ง mount และ unmount ไดร์ฟของฉัน
HDD ปกติในช่องแสงของฉัน Macbook Pro (ปลายปี 2549) OSX Lion
ไดรฟ์สปินลงและอยู่ในลักษณะนั้นเว้นแต่คุณจะเปิดยูทิลิตี้ดิสก์ดำเนินการต่อจากโหมดสลีปหรือเมานต์ไดรฟ์ใหม่ สปอตไลท์ไม่ทำให้ไดรฟ์หมุน ไม่พยายามเข้าถึงนามแฝงใด ๆ บนไดรฟ์
- หากมีกระบวนการทำงานที่เปิดอยู่ซึ่งป้องกันไม่ให้ไดรฟ์ออกสคริปต์จะเปิดการตรวจสอบกิจกรรมและเรียกใช้ lsof ในหน้าต่างเทอร์มินัล
- จากนั้นคุณสามารถตัดสินใจได้ว่ากระบวนการนี้ควรถูกฆ่าหรือไม่
กล่องโต้ตอบ -A ขอให้ผู้ใช้ยืนยันที่จะฆ่า
ฉันเรียกใช้สิ่งเหล่านี้จากเมนู applescript คุณสามารถเปิดใช้งานเช่นนี้:
- เปิด AppleScript Editor.app (Applications -> Utilities)
- เปิดการตั้งค่า….
- ทำเครื่องหมายที่ "แสดงเมนูสคริปต์ในแถบเมนู"
เมานต์ไดรฟ์
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
ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันหวังว่าคุณจะประสบความสำเร็จ!