จะตรวจสอบสิ่งที่ล็อคไฟล์ได้อย่างไร


11

ฉันสังเกตเห็นว่าบางครั้ง Mail.app ล็อคไฟล์ ตัวล็อคอนุญาตให้ย้ายไฟล์ไปที่ถังขยะ แต่ไม่อนุญาตให้ทิ้งถังขยะ (บางทีถังขยะควรถูกเปลี่ยนชื่อเป็น Thrash ในกรณีนี้)

มีวิธี (ผ่านคำสั่งเทอร์มินัลหรือแอป) เพื่อดูว่าแอปใดล็อคไฟล์และ / หรือปลดล็อกไฟล์โดยไม่เลิกแอพ


ฮ่าฮ่า! คุณมีฉัน. ;)
Michal M

คำตอบ:


13

ดังที่ Rabarberski กล่าวlsofสามารถใช้เพื่อค้นหากระบวนการใด ๆ ที่เปิดไฟล์ โปรดทราบว่าคุณต้องเรียกใช้โปรแกรมในฐานะ root เช่นการใช้sudoและคุณสามารถให้ชื่อพา ธ ไปยังไฟล์ที่คุณสนใจเป็นอาร์กิวเมนต์ดังนั้นจึงไม่จำเป็นต้องgrepเรียกใช้ในคำใบ้ที่ Rabarberski ชี้ไป นอกจากนี้หากกระบวนการเก็บล็อกไฟล์คุณควรจะเห็นว่าจากคอลัมน์ FD ในlsofเอาต์พุต ดูหน้าคู่มือสำหรับรายละเอียด (เมื่อฉันรันsudo lsofบนเครื่องของฉันฉันไม่เห็นไฟล์ที่ถูกล็อคดังนั้นฉันจะไม่รับประกันว่ามันจะทำงานได้ดีบน Mac sudoนั่นคือหลังจากโปรแกรม unix ทั่วไปทั้งหมดและฟีเจอร์บางอย่างอาจไม่ทำงานบน OSX)

คุณไม่สามารถปลดล็อคไฟล์โดยไม่ฆ่ากระบวนการที่มีการล็อค แต่คุณสามารถลบออกได้ด้วยrmจากบรรทัดคำสั่ง


เพิ่งสังเกตเห็นความผิดพลาดที่โง่เง่า: ที่ซึ่งมันบอกว่า“ sudoเป็นเพราะทั้งหมด…” lsofฉันตั้งใจจะพูดถึงมัน จะไม่แก้ไขมัน - มันน้อยเกินไปที่จะรับประกันการกระแทกไปยังหน้าแรก
Harald Hanche-Olsen

6

ดังที่คนอื่น ๆ ชี้ให้เห็น เพื่อให้งานง่ายขึ้นฉันขอแนะนำแอป (ฟรี) "สิ่งที่ทำให้ฉัน" (URL: http://www.hamsoftengineering.com/products/wkm/wkm.html ) ซึ่งเป็นส่วนหน้าสำหรับ lsof และมี ตัวเลือกที่ช่วยประหยัดเวลาไม่กี่


1
ดูเหมือนว่าลิงก์จะใช้งานไม่ได้ดังนั้นที่นี่เป็นที่ตั้งอื่น: macupdate.com/app/mac/27807/what/'s-keeping-me ?
Michal M

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