सबसे उपयोगी उपकरण lsof है । यह दिखाता है कि कौन सी फाइलें किस प्रक्रिया द्वारा उपयोग की जाती हैं। यदि /media/KINGSTON
कोई माउंट पॉइंट है (डिवाइस का नाम भी काम करेगा), निम्न कमांड उन सभी फाइलों को दिखाता है जो इस आरोह बिंदु पर उपयोग में हैं:
lsof /media/KINGSTON
यदि आप इस कमांड को एक साधारण उपयोगकर्ता के रूप में चलाते हैं, तो यह केवल आपकी स्वयं की प्रक्रियाओं को दिखाएगा। sudo lsof /media/KINGSTON
सभी उपयोगकर्ताओं की प्रक्रियाओं को देखने के लिए चलाएँ ।
इस lsof
तरह से उत्पादन इस तरह दिखता है:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zsh4 31421 gilles cwd DIR 8,1 4096 130498 /var/tmp
zsh4 31421 gilles txt REG 8,1 550804 821292 /bin/zsh4
zsh4 31421 gilles mem REG 8,1 55176 821326 /usr/lib/zsh/4.3.10/zsh/complist.so
zsh4 31421 gilles 12r REG 8,1 175224 822276 /usr/share/zsh/functions/Completion.zwc
COMMAND
स्तंभ शो कार्यक्रम निष्पादन के नाम और PID
स्तंभ शो प्रक्रिया ID। NAME
स्तंभ फ़ाइल नाम पता चलता है; आप देख सकते हैं (deleted)
कि फ़ाइल को खोलने के दौरान हटा दिया गया था (जब कोई फ़ाइल हटा दी जाती है, तो उसका अब नाम नहीं है, लेकिन यह तब भी मौजूद है जब तक कि अंतिम प्रक्रिया का उपयोग करके फ़ाइल बंद नहीं हो जाती)। USER
आत्म-व्याख्यात्मक होना चाहिए। अन्य स्तंभों को शायद यहां छोड़कर कोई फर्क नहीं पड़ता FD
, जो दिखाता है कि प्रक्रिया द्वारा फ़ाइल का उपयोग कैसे किया जाता है:
cwd
: वर्तमान कार्य निर्देशिका
txt
: कार्यक्रम निष्पादन योग्य
mem
: एक मेमोरी-मैप्ड फ़ाइल (यहां, इसे एक ओपन फाइल के रूप में सोचें)
- एक संख्या: एक वास्तविक खुली फाइल; एक बाद का अक्षर उद्घाटन मोड को इंगित करता है, जैसे
r
पढ़ने के लिए और w
लिखने के लिए
खिड़की का पता लगाने के लिए कोई यांत्रिक तरीका नहीं है जहां एक फ़ाइल खुली है (यह वास्तव में तकनीकी रूप से सार्थक नहीं है: यदि किसी प्रक्रिया में कई खिड़कियां हैं, तो एक फ़ाइल विशेष रूप से एक खिड़की या किसी अन्य से जुड़ी नहीं है), और न ही पहचान करने का कोई सरल तरीका एक प्रक्रिया की खिड़की (और निश्चित रूप से एक प्रक्रिया के पास कोई विंडो नहीं है)। लेकिन आमतौर पर कमांड का नाम और फ़ाइल का नाम अपराधी का पता लगाने और फ़ाइल को ठीक से बंद करने के लिए पर्याप्त है।
यदि आप फ़ाइल को बंद नहीं कर सकते हैं और बस इसे समाप्त करना चाहते हैं, तो आप इस प्रक्रिया को kill 31421
(जहाँ 31421
प्रक्रिया आईडी है) या kill -HUP 31421
("हैंग अप") मार सकते हैं । यदि सादा हत्या चाल नहीं करती है, तो अत्यधिक पूर्वाग्रह के साथ मारें kill -KILL 31421
:।
Lsof , glsof के लिए एक GUI है , लेकिन यह अभी तक प्राइम टाइम के लिए बिल्कुल तैयार नहीं है, और उबंटू के लिए अभी तक पैक नहीं किया गया है।
¹
Lsof अन्य उपयोगकर्ताओं की प्रक्रियाओं के बारे में कुछ जानकारी सूचीबद्ध कर सकता है, लेकिन यह आरोह बिंदु का पता नहीं लगाता है इसलिए यदि आप एक आरोह बिंदु निर्दिष्ट करते हैं तो उन्हें सूचीबद्ध नहीं करेंगे।
²
निष्पादन कोड अक्सर निष्पादन योग्य प्रारूपों के विचार विमर्श में पाठ कहा जाता है।