खुली फ़ाइलें
खुली फाइलों के साथ प्रक्रियाएं सामान्य अपराधी हैं। उन्हें प्रदर्शित करें:
lsof +f -- <mountpoint or device>
/dev/<device>
इसके बजाय का उपयोग करने का एक फायदा है /mountpoint
: एक के बाद एक माउंटपॉइंट गायब हो जाएगा umount -l
, या यह एक ओवरलैड माउंट द्वारा छिपाया जा सकता है।
fuser
भी इस्तेमाल किया जा सकता है, लेकिन मेरे दिमाग lsof
में एक अधिक उपयोगी आउटपुट है। हालांकि fuser
यह तब उपयोगी होता है जब यह आपके ड्रामा को पैदा करने वाली प्रक्रियाओं को मारने की बात करता है ताकि आप अपने जीवन के साथ आगे बढ़ सकें।
सूची फ़ाइलों पर <mountpoint>
(ऊपर चेतावनी देखें):
fuser -vmM <mountpoint>
लिखने के लिए खुलने वाली फाइलों के साथ इंटरएक्टिवली केवल प्रक्रियाओं को मारें:
fuser -vmMkiw <mountpoint>
केवल पढ़ने के बाद ( mount -o remount,ro <mountpoint>
), शेष सभी प्रक्रियाओं को मारने के लिए सुरक्षित (r) है:
fuser -vmMk <mountpoint>
mountpoints
अपराधी ही कर्नेल हो सकता है। जिस फाइलसिस्टम पर आप प्रयास कर रहे हैं, उस पर एक और फाइलसिस्टम umount
शोक पैदा करेगा। इससे जाँच करें:
mount | grep <mountpoint>/
लूपबैक माउंट के लिए, इसका आउटपुट भी जांचें:
losetup -la
अनाम इनोडेस (लिनक्स)
अनाम इनोड्स द्वारा बनाया जा सकता है:
- अस्थायी फाइलें (
open
साथ O_TMPFILE
)
- घड़ियों को निष्क्रिय करें
- [Eventfd]
- [Eventpoll]
- [Timerfd]
ये सबसे अधिक मायावी प्रकार के पोकेमॉन हैं, और lsof
's TYPE
कॉलम में दिखाई देते हैं a_inode
(जो कि lsof
मैन पेज में अनडूम्ड है )।
वे इसमें दिखाई नहीं देंगे lsof +f -- /dev/<device>
, इसलिए आपको इसकी आवश्यकता होगी:
lsof | grep a_inode
अनाम इनकोड धारण करने वाली प्रक्रियाओं को मारने के लिए, देखें: वर्तमान इनऑटाइज़ घड़ियों (पथनाम, पीआईडी) को सूचीबद्ध करें ।