วิธีการตรวจสอบคือfuser -vm /mnt/dirต้องรันเป็นรูท มันจะบอกคุณว่ากระบวนการใดกำลังเข้าถึงจุดเชื่อมต่อ
ทางเลือกคือlsof /mnt/dirซึ่งจะแสดงไฟล์ที่เปิดแต่ละไฟล์บนเมานต์ ทำงานที่ดีที่สุดอีกครั้งเป็น root
คุณสามารถเรียกใช้สิ่งเหล่านี้ไม่เป็นรูท แต่ผลลัพธ์จะถูก จำกัด ในกระบวนการของคุณ - คนที่มาจากผู้ใช้รายอื่นจะไม่แสดงอย่างเงียบ ๆ แม้ว่าพวกเขาจะป้องกันการ unmount ระบบไฟล์
ตัวอย่าง:
Watt:~# fuser -vm /mnt/Zia/src
USER PID ACCESS COMMAND
/mnt/Zia/src: root kernel mount /mnt/Zia/src
anthony 24909 ..c.. bash
anthony 25041 F.c.. gvim
ช่อง "เข้าถึง" จะบอกคุณถึงวิธีการเข้าถึง ในกรณีนี้เคอร์เนลมีการใช้เป็นเมานท์ (duh แต่ unmount จะตกลงกับสิ่งนี้เท่านั้น) bashมีมันเป็นไดเรกทอรีการทำงานปัจจุบัน (จะต้องไปcdยังไดเรกทอรีที่แตกต่างกันก่อนที่จะเลิกเมานท์) และ gvim ทั้งสองมีไดเรกทอรีปัจจุบันและมีไฟล์ที่เปิดอยู่ (จะต้องปิด gvim นั้น)
Watt:~# lsof /mnt/Zia/src
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 24909 anthony cwd DIR 0,26 12288 3527682 /mnt/Zia/src/perl (zia.vpn.home:/home/anthony/src)
gvim 25041 anthony cwd DIR 0,26 12288 3527682 /mnt/Zia/src/perl (zia.vpn.home:/home/anthony/src)
gvim 25041 anthony 6u REG 0,26 16384 3526219 /mnt/Zia/src/perl/.utf8.c.swp (zia.vpn.home:/home/anthony/src)
ในเอาต์พุตนี้คุณสามารถดูไดเร็กทอรีปัจจุบันสำหรับทั้ง bash และ gvim (เป็นชนิดDIR) คุณยังสามารถดูไฟล์ gvim ที่เปิดอ่านได้
วิธีการบังคับใช้ปัญหา:
fuserมี-kตัวเลือกที่จะส่งสัญญาณ (ค่าเริ่มต้น:) SIGKILLไปยังแต่ละกระบวนการโดยใช้การเมาท์ นี่เป็นวิธีที่ค่อนข้างมีพลังในการหยุดการเมาไม่ว่าง (และแน่นอนระวังสิ่งที่คุณSIGKILL!)
umountมี-lตัวเลือกในการดำเนินการ unmount ที่ขี้เกียจ การเมาท์จะถูกลบออกจากเนมสเปซของระบบไฟล์ (ดังนั้นคุณจะไม่เห็นมัน/mnt/Zia/srcอีกต่อไปในตัวอย่าง) แต่จะยังคงเมานต์อยู่ดังนั้นโปรแกรมที่เข้าถึงมันจะสามารถทำต่อไปได้ เมื่อโปรแกรมสุดท้ายที่เข้าใช้ออกจากระบบการถอนติดตั้งจะเกิดขึ้นจริง
มีสาเหตุหนึ่งที่แก้ไขได้สุดท้ายของการ unmount ที่ล้มเหลวและนั่นคือเซิร์ฟเวอร์ NFS ที่กำลังจะล่ม ที่นี่คุณสามารถใช้umount -fแต่คุณเสี่ยงต่อการสูญเสียข้อมูลถ้าคุณทำเช่นนั้น (ไคลเอ็นต์อาจมีการเขียนแคชที่ยังไม่ได้รับการยืนยันจากเซิร์ฟเวอร์และการเขียนเหล่านั้นจะถูกยกเลิกอย่างไรก็ตามแอปได้รับการแจ้งว่าการเขียนสำเร็จแล้ว)