ไม่สามารถเปิดไดรฟ์ข้อมูลได้เนื่องจากกำลังใช้งานอยู่


100

หลังจากทำงานกับดิสก์สำรองข้อมูล USB ภายนอกฉันต้องการยกเลิกการต่อเชื่อมไดรฟ์ทั้งหมด เมื่อกดปุ่ม 'นำถาดออก' ตัวค้นหาจะเตือนฉันด้วยข้อความ:

  • " ไม่สามารถเลื่อนระดับเสียงออกได้เนื่องจากกำลังใช้งานอยู่ในขณะนี้ "

หรือ

  • " ดิสก์" ไม่ระบุ "ไม่ได้ถูกเปิดออกเพราะอาจมีโปรแกรมอย่างน้อยหนึ่งโปรแกรมใช้อยู่ ".

หรือเมื่อพยายามใช้ Terminal: umount /Volumes/Diskname

  • " umount (/ Volumes / Diskname): ทรัพยากรไม่ว่าง - ลอง 'diskutil unmount' "

เท่าที่ฉันทราบฉันไม่ได้ใช้ดิสก์นี้ แต่ Finder บอกว่าฉันทำดังนั้นฉันต้องผิด ฉันชอบ unmount ไดรฟ์ที่สะอาด ขณะที่ฉันกำลังทำงานหลายอย่างการออกจากระบบและการเข้าสู่ระบบไม่เป็นที่ต้องการเนื่องจากเป็นการติดตั้งซอฟต์แวร์บุคคลที่สาม

คำสั่งเทอร์มินัลlsofอาจจะใช้ที่นี่ แต่โดยส่วนตัวแล้วฉันคิดว่านี่ซับซ้อนเกินไปสำหรับปัญหาที่ 'เรียบง่าย' และจริงๆแล้วฉันไม่รู้วิธีใช้อย่างถูกต้อง

คำถามของฉัน: ฉันจะรู้ได้อย่างไรว่าโปรแกรมกำลังใช้งานไดรฟ์ของฉันอยู่หรือไม่เพื่อให้ฉันสามารถออกจากโปรแกรมนั้น

ไม่สามารถเปิดไดรฟ์ข้อมูลได้เนื่องจากกำลังใช้งาน ดิสก์ "Camel" ไม่ได้ถูกเปิดออกเพราะอาจมีโปรแกรมอย่างน้อยหนึ่งโปรแกรมใช้อยู่ ดิสก์ "Mammtoh" ไม่ได้ถูกเปิดออกเนื่องจากมีหนึ่งโปรแกรมขึ้นไป ... xkcd


2
"เท่าที่ฉันรู้ฉันไม่ได้ใช้ดิสก์นี้ แต่ Finder บอกว่าฉันทำดังนั้นฉันต้องผิด" คุณไว้ใจเครื่องจักรมากเกินไป ;-) บ่อยครั้งที่คอมพิวเตอร์ผิดปกติและมนุษย์เราเป็นฝ่ายถูก
Nicolas Barbulesco

ดังนั้นสิ่งที่คุณพูดคือฉันถูก ;)
CousinCocaine


2
และหาก Spotlight เป็นผู้กระทำผิดให้ช่วยตัวคุณเองด้วยการทำซ้ำ: apple.stackexchange.com/a/211616/15417
John2095

คำตอบ:


130

lsofเป็นทางออกที่ดีที่สุดของคุณ วิธีที่เร็วและง่ายที่สุดคือ: -

sudo lsof /Volumes/myDrive

อาจใช้เวลาสองสามนาทีในการเรียกใช้ แต่เมื่อเสร็จแล้วจะมีรายการไฟล์ที่เปิดอยู่บนดิสก์ ผลลัพธ์จะมีลักษณะดังนี้:

COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
mds         89  root   19r   DIR   52,3      432     2 /Volumes/Photos
mds         89  root   23r   DIR   52,3      432     2 /Volumes/Photos
Finder     681 alans   14r   DIR   52,3      432     2 /Volumes/Photos
QuickLook 2158 alans    9r   REG   52,3  1141591 78651 /Volumes/Photos/_tmp_iphone_10_backup/APC_1546.JPG  

ในกรณีนี้มันเป็นQuickLookแอพพลิเคชั่นที่เปิดไฟล์ การปิดแอปพลิเคชันโดยตรงเป็นวิธีที่ดีที่สุดในการแก้ไขปัญหา อย่างไรก็ตามนั่นเป็นไปไม่ได้เสมอไป ตัวอย่างเช่น QuickLook จะไม่แสดงเป็นแอปพลิเคชันที่คุณสามารถไปที่ Dock ได้

หากคุณไม่สามารถปิดแอปพลิเคชันด้วยตนเองคุณสามารถใช้killคำสั่งเพื่อยกเลิกแอปพลิเคชันจากบรรทัดคำสั่ง ในการทำเช่นนั้นให้ใช้PIDจากคอลัมน์ที่สองเป็นรหัสที่จะฆ่า จากตัวอย่างข้างต้นมันจะเป็น:

kill 2158

โปรดทราบว่าบางครั้งไม่สามารถใช้งานได้และkillต้องใช้รูปแบบที่ก้าวร้าวมากขึ้น นี่คือชุดของความก้าวร้าวที่เพิ่มขึ้น (โดยใช้ตัวอย่าง PID ของ 2158):

kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158

คุณควรจะดีดดิสก์ออกเมื่อกระบวนการ / แอปพลิเคชันถูกฆ่า

หนึ่งบันทึกสุดท้ายlsofสามารถใช้เวลาหนึ่งหรือสองนาที มันสามารถแขวนได้ แต่คุณควรให้เวลาอย่างน้อยสองสามนาทีก่อนที่คุณจะตัดสินใจว่านั่นคือสิ่งที่เกิดขึ้น

นอกจากนี้บางครั้งคำสั่งพื้นฐานsudo lsof /Volumes/myDriveจะไม่พบสิ่งใด หากเป็นเช่นนั้นให้ลองเพิ่ม+Dอาร์กิวเมนต์ (เช่นsudo lsof +D /Volumes/myDrive) ที่จะทำการสแกนจากบนลงล่างของดิสก์ มันจะใช้เวลานานขึ้น แต่ควรรับทุกสิ่งที่ทำให้ดิสก์ไม่สามารถดีดออกได้

( ปลายหมวกไปยังโพสต์ของ Alec Jacobsonสำหรับรายละเอียดเพิ่มเติม )


1
ฉันพบสิ่งนี้เช่นกัน แต่ฉันหวังว่าบางคนมีโซลูชันที่ไม่ใช่เทอร์มินัล ถ้าไม่คุณจะได้รับหนึ่งบวกของคุณ;)
CousinCocaine


3
→พอล: ผมขอแนะนำให้คุณในการปรับปรุงคำสั่งที่แนะนำของคุณเป็น:/usr/bin/sudo lsof /Volumes/myDrive
แดน

3
โอ้เยี่ยมมากฉันทำได้โดยไม่ต้อง sudo ซึ่งให้ผลลัพธ์ที่แตกต่างกันโดยสิ้นเชิง
Alper

2
ใช่ sudo เป็นสิ่งที่จำเป็นในหลายกรณี ในกรณีของฉันสิ่งนี้เปิดเผยว่าเป็นเพราะ Spotlight พยายามทำดัชนีดิสก์ดังนั้นวิธีแก้ไขคือปิดการใช้งาน Spotlight สำหรับดิสก์จากนั้นหยุด / รีสตาร์ท Spotlight ด้วยตนเอง
Tom

30

คุณเคยลอง$ diskutil unmount /Volumes/Disknameไหม

หรือ$ diskutil unmount force /Volumes/Diskname?

ดังที่manpageชี้ให้เห็น:

เนื่องจากลักษณะที่ซับซ้อนและเชื่อมโยงกันของ Mac OS X, umount อาจล้มเหลวบ่อยครั้ง ขอแนะนำให้ใช้ diskutil (1) (เช่นเดียวกับใน "diskutil unmount / mnt") แทน

หากเสียงของคุณมีช่องว่างในชื่อให้แน่ใจว่าได้หลีกช่องว่างด้วย\เช่น:

$ diskutil unmount /Volumes/Disk\ Name

หรือใช้คำพูดเพื่อหลีกเลี่ยงความสับสน

$ diskutil unmount "/Volumes/Disk Name"

1
ฉันเชื่อว่าฉันลองและไม่ได้ผล แต่ครั้งต่อไปฉันจะลองอีกครั้งและอัปเดตโพสต์ของฉันตาม
CousinCocaine

ตัวอย่างของคุณมีเครื่องหมายคำพูดไม่ใช่เครื่องหมายอะโพสโทรฟี ซึ่งเป็นสิ่งที่ดี
Nicolas Barbulesco

1
@ NicolasBarbulesco: ขอบคุณที่ชี้ให้เห็นว่าฉันได้แก้ไขคำตอบแล้ว จับดี!
เจสันโรบินสัน

1
ทำงานแล้ว -> sudo diskutil unmount force / Volumes / Diskname
tgkprog

1
@tgkprog ดีใจที่ได้ยินเช่นกันขอบคุณสำหรับsudoคำสั่งที่อาจช่วยเหลือผู้อื่นเช่นกัน
Jason Robinson

15

ปัญหาของคุณอาจเกิดจากกระบวนการ  mds : Spotlight ทำดัชนีดิสก์ของคุณ

ฉันมีปัญหานี้และฉันยังไม่พบวิธีแก้ไข (ยัง)


นี่คือวิธีปิดใช้งาน / เปิดใช้งานการจัดทำดัชนีสปอตไลท์อีกครั้ง: iclarified.com/49187/…
rstackhouse

ฉันยังพบว่าบริการ mds ใช้มัน ฉันพยายามปิดการใช้งานบริการ mds สำหรับแฟลชไดรฟ์โดยใช้ "sudo mdutil -i off / Volumes / 16GB" แต่ก็ไม่ได้ช่วยอะไร ฉันต้องเปิดตัว Finder อีกครั้งโดยใช้ "ตัวเลือก + คลิก" ที่ FInder
Aruna

6

คุณสามารถลองใช้แอพพลิเคชั่น donationware " What Keeping me? " ที่แสดงว่ากระบวนการ / แอปพลิเคชั่นใดใช้ปริมาตร / โฟลเดอร์ / ไฟล์

โปรแกรมนี้ได้รับการรับรองโดยผู้พัฒนาสำหรับ Mac OS X 10.6 Snow Leopard แต่หน้า RoaringAppsสำหรับแอปพลิเคชันนี้แสดงว่าทำงานได้ดีบน OS X 10.7 Lion และ OS X 10.8 Mountain Lion

เกี่ยวกับการรักษาฉันคืออะไร

คุณเคยมีปัญหาที่ไม่สามารถล้างถังขยะหรือนำดิสก์ออกเพราะมีบางสิ่งที่ป้องกันคุณหรือไม่? โดยทั่วไปแล้วสาเหตุเนื่องจากบางแอปพลิเคชั่นเปิดไฟล์และทำให้คุณไม่สามารถกำจัดดิสก์หรือทิ้งไฟล์ได้ นั่นเป็นเหตุผลที่เราทำในสิ่งที่ทำให้ฉัน! สิ่งที่ทำให้ฉันจะระบุแอปพลิเคชันที่กำลังถือรายการเปิด จากนั้นคุณสามารถใช้ What's Keeping Me เพื่อออกจากแอปพลิเคชันปัญหา (หรือฆ่ามันหากจำเป็น) เพื่อให้คุณสามารถทำงานของคุณได้ สิ่งที่ทำให้ฉันมีเวิร์กโฟลว์อัตโนมัติเพื่อให้คุณสามารถทำการค้นหาโดยตรงจาก Finder ได้เช่นกัน!


1
ดูเหมือนว่าซอฟต์แวร์ที่ถูกต้อง แต่ฉันชอบโซลูชันดั้งเดิมของ OS X
CousinCocaine

คุณหมายถึงบางสิ่งที่ Apple ให้มา ด้านหน้าของ GUI ไม่มีอะไรแบบนั้น นอกจากนี้ WKM ยังอยู่ในช่วงหลายปีที่ผ่านมา
MK

ขอบคุณสำหรับการเพิ่มของคุณ พื้นเมืองไม่ใช่คำที่ถูกต้องสิ่งที่ฉันหมายถึงคือ 'ไม่ใช่บุคคลที่สาม' WKM เป็นทางออกที่ดี แต่โดยส่วนตัวแล้วฉันชอบ lsof
CousinCocaine

เพิ่งทดสอบแอปใน High Sierra แล้วก็ยังใช้งานได้ นอกจากนี้ยังเป็น 64 บิต
dianeoforegon

4

ผมเคยมีข้อความนี้แม้จะแน่ใจว่าไม่มีเปิดไฟล์บนไดรฟ์ ฉันตรวจสอบสิ่งนี้ด้วยWhy Not Unmountซึ่งเป็นเครื่องมือ GUI ที่สามารถระบุไฟล์ที่เปิดอยู่บนดิสก์

ในกรณีของฉันมันเป็นสัญญาณว่าระบบไฟล์เสียหาย การเรียกใช้ Disk Utility (หรือหากยังไม่เพียงพอ DiskWarrior) จะแก้ไขปัญหาและทำให้ดิสก์ดีดได้อีกครั้ง


1
ในกรณีของฉันระบบไม่เสียหาย
CousinCocaine

ดูเหมือนว่าไม่น่า Spotlight มีแนวโน้มมากขึ้นหรือแอพหรือบริการอื่น ๆ มีการล็อคดิสก์
Tom

3

ทั้งโซลูชันบรรทัดคำสั่งและสิ่งที่ทำให้ฉันทำงานได้ดี

ในการสรุปผลบรรทัดคำสั่งในเทอร์มินัลคือ:

lsof | grep /Volumes/myDrive

การประยุกต์ใช้ GUI คือสิ่งที่ทำให้ฉันได้ที่Hamsoft วิศวกรรม

ภาพหน้าจอของทั้งคู่พร้อมการค้นหาเดียวกันที่เกิดขึ้น

เอาต์พุตบรรทัดคำสั่ง GUI สำหรับสิ่งที่ทำให้ฉัน

ฉันชอบบรรทัดคำสั่งเพียงเล็กน้อยเพราะมันอยู่กับคุณเสมอ ในทางกลับกันสิ่งที่ทำให้ฉันรวดเร็วและใช้งานง่ายขึ้นหากคุณติดตั้งไว้แล้ว


3

หมายเหตุ: ใช้fseventerงานได้จนถึง OS X 10.10 โยเซมิตีและหน้าของผู้พัฒนา http://www.fernlightning.com ในขณะเดียวกันก็ออฟไลน์ ดังนั้นลิงค์ผลิตภัณฑ์ถูกลบ ด้วยbrew cask install fseventerมันอาจจะยังคงมีอยู่ในรุ่นพี่ macOS

มีทางเลือกที่เป็น GUIเพื่อ app CLI lsof:
fseventerคือเข้าถึงระบบไฟล์ที่ดีอรรถประโยชน์การตรวจสอบสำหรับวัตถุประสงค์ต่างๆ มันทำงานด้วยสิทธิ์ผู้ใช้ขั้นสูง ( sudo) จึงเห็นการเข้าถึงการอ่าน / เขียนทั้งหมดของระบบไฟล์ที่ติดตั้งทั้งหมดและนำเสนอพวกเขาในภาพรวมที่ชัดเจนมาก

ประสบการณ์ของฉัน:ฉันมีระดับเสียงที่ไม่สามารถกดออกได้อย่างต่อเนื่อง (เช่นในภาพหน้าจอของ OP) และจำเป็นต้องมี "กำลังดีดออก" บางครั้งแม้แต่การตัดการเชื่อมต่อทางกายภาพที่รุนแรง (หรือแนะนำ! ดิสก์) หรือการปิดระบบเพื่อหลีกเลี่ยงวิธีการเดรัจฉานนั้น

การแก้ไขของฉัน:สรุป: ปัญหาการปล่อยอาจเกิดจากเนื้อหาไฟล์ที่เสียหายหรือแบบดั้งเดิมในโวลุ่มนั้น การลบเนื้อหาที่มีปัญหาสามารถแก้ไขได้อย่างถาวร ในรายละเอียด:

  1. พิจารณาว่าไฟล์ใดที่ถูกเข้าถึง (ด้วยlsofหรือ fseventer) ในกรณีของฉันมันเป็นไฟล์ Classic Mac OS ที่มีตัวแยกทรัพยากรที่ยังคงเปิดอยู่ซึ่งอาจเป็นเพราะกระบวนการแยกดิสก์บนพื้นหลัง (Spotlight, QuickLook หรือ thelike) แขวนอยู่

  2. สำรองข้อมูลที่ทำให้เกิดปัญหาในไฟล์เก็บถาวร (ซึ่งเก็บข้อมูลทรัพยากรเฉพาะของ Mac (คลาสสิก) Mac) ฉันใช้ฟังก์ชัน "บีบอัด" ดั้งเดิมของ Finder's จากเมนูบริบท

  3. ลบไฟล์ / โฟลเดอร์ที่มีปัญหา

    • ด้วย Finder ตามปกติ ดูเหมือนว่าสิ่งนี้จะล้มเหลวเนื่องจากเป็น "ไฟล์ / โฟลเดอร์ที่มีปัญหา"
    • ด้วย Finder และ ALT ค้างไว้ในขณะที่ล้างถังขยะ สิ่งนี้สร้างแรงขึ้นเล็กน้อย แต่มีแนวโน้มว่ามันจะล้มเหลว
    • sudo rm -R /path/to/troublesome/FileOrFolderผ่านช่องด้วย วิธีนี้ใช้ได้ผลในที่สุดหลังจากความพยายามลบของ Finder's ล้มเหลว
  4. ลองยกเลิกการต่อเชื่อมระดับเสียงอีกครั้ง มันอาจจะยังคงล้มเหลวเป็นกระบวนการพื้นหลังซึ่งล้มเหลวที่อาจจะยังคงอยู่ในสภาพที่เรียกคืนไม่ได้

  5. เริ่มต้นใหม่. จากนั้นลองยกเลิกการต่อเชื่อมอีกครั้ง จากนั้นมาเสียงก็ดังขึ้นอีกครั้ง การดำเนินการเมาท์ปกติยกเลิกการเมานท์อ่าน / เขียน เฉพาะเมื่อไฟล์นั้นถูกเปิดโดยกระบวนการผู้ใช้การยกเลิกการต่อเชื่อมถูกป้องกัน พฤติกรรมปกติสมบูรณ์แบบอีกครั้ง


1

การแก้ปัญหาตรวจสอบให้แน่ใจว่าปิดโปรแกรมทั้งหมดแล้ว คลิกที่ไอคอน Apple ที่ด้านบนซ้ายของหน้าจอจากนั้นคลิก Force Quit ในรายการคลิก Finder ตอนนี้คลิกที่ปุ่มเปิดใหม่ จากนั้นลองนำไดรฟ์ออกอีกครั้ง


คุณเห็นวิธีนี้ใช้งานได้หรือไม่
Nicolas Barbulesco

1

ลองเปิดตัว Finder อีกครั้ง ที่นี่ใช้งานได้


ไม่แน่ใจว่าทำไมสิ่งนี้จึงถูกลดระดับลง ในกรณีของฉัน QuickLook และ mds ทั้งคู่มีการระงับไว้ (แม้จะไม่มีหน้าต่างตัวค้นหาที่เปิดอยู่) ฉันจะเริ่มต้นใหม่ MDS แต่qlmanage -rบอกว่ามันเป็น "การรีเซ็ต quicklookd" lsof +D /path/to/volumeแต่มันก็ยังคงถือแฟ้มเปิดตาม การเปิดใช้งานตัวค้นหาใหม่ทำให้มันชัดเจนขึ้นและฉันก็สามารถนำระดับเสียงออกได้
AC Capehart

-2

ฉันรีสตาร์ท Mac ของฉันและแก้ไขมัน :-)


1
ฉันชอบ unmount ไดรฟ์ที่สะอาด ขณะที่ฉันกำลังทำงานหลายอย่างการออกจากระบบและการเข้าสู่ระบบไม่เป็นที่ต้องการเนื่องจากเป็นการติดตั้งซอฟต์แวร์บุคคลที่สาม
CousinCocaine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.