lsof उत्तरजीविता गाइड [बंद]


104

lsof यूनिक्स प्रणालियों के लिए एक उपयोगी शक्तिशाली कमांड लाइन उपयोगिता है। यह खुली फाइलों को सूचीबद्ध करता है, उनके बारे में जानकारी प्रदर्शित करता है। और चूंकि सब कुछ यूनिक्स सिस्टम पर एक फ़ाइल है, इसलिए lsof उपयोगी डायग्नोस्टिक डेटा का एक टन sysadmins दे सकता है।

Lsof का उपयोग करने के कुछ सबसे सामान्य और उपयोगी तरीके क्या हैं, और इसके लिए कौन से कमांड-लाइन स्विच का उपयोग किया जाता है?

जवाबों:


119

किसी से संबंधित सभी नेटवर्किंग दिखाने के लिए port:

lsof -iTCP -i :port
lsof -i :22

किसी विशिष्ट होस्ट से कनेक्शन दिखाने के लिए, उपयोग करें @host

lsof -i@192.168.1.5

होस्ट के आधार पर कनेक्शन दिखाएं और @host:port lsof -i@192.168.1.5: 22 का उपयोग करते हुए पोर्ट

grepपिंग LISTENदिखाता है कि आपके सिस्टम को किन पोर्ट पर कनेक्शन की प्रतीक्षा है:

lsof -i| grep LISTEN

दिखाएँ कि उपयोगकर्ता ने क्या उपयोग किया है -u:

lsof -u daniel

देखें कि कौन सी फाइलें और नेटवर्क कनेक्शन एक कमांड का उपयोग कर रहा है -c

lsof -c syslog-ng

-pस्विच आप देखते हैं कि क्या एक दिया प्रक्रिया ID खुला है, जो अज्ञात प्रक्रियाओं के बारे में जानने के लिए अच्छा है की सुविधा देता है:

lsof -p 10075

-tविकल्प रिटर्न सिर्फ एकPID

lsof -t -c Mail

एक साथ -tऔर -cविकल्पों का उपयोग करके आप HUPप्रक्रिया कर सकते हैं

kill -HUP $(lsof -t -c sshd)

तुम भी उपयोग कर सकते हैं -tके साथ -uएक उपयोगकर्ता खुला है मार सब कुछ करने के लिए

kill -9 $(lsof -t -u daniel)


एक अच्छा तरीका यह है कि आप धोखा देने वाले रत्न का उपयोग करें, यदि आप रूबी का उपयोग करते हैं। यह सिर्फ सुविधाजनक है, कई उपयोगिताओं (भाषा स्वतंत्र) की चीट-शीट के लिए समुदाय-संचालित सीएलआई। इसे आजमाइए
केदार म्हसवडे

25
lsof -i :port 

आपको बताएगा कि एक विशिष्ट पोर्ट पर कौन से प्रोग्राम सुन रहे हैं।


1
यह "सुनने" तक सीमित नहीं है, इसलिए यदि आप निर्दिष्ट करते हैं lsof -i :8080और आपके पास पोर्ट 8080 पर एक प्रॉक्सी से कनेक्ट होने वाली प्रक्रियाओं का एक गुच्छा है , तो आप उन्हें भी प्राप्त करेंगे।
मैट ब्रेन

14
lsof +D /some/directory

एक निर्देशिका में खोली गई सभी फ़ाइलों को पुन: प्रदर्शित करेगा। + d सिर्फ शीर्ष स्तर के लिए।

यह उपयोगी है जब आपके पास IO के लिए उच्च प्रतीक्षा% है, एक विशेष FS पर उपयोग करने के लिए सहसंबद्ध है और यह देखना चाहता है कि कौन सी प्रक्रिया आपके io को चबा रही है।


13

lsof -iखुले नेटवर्क सॉकेट की एक सूची प्रदान करेगा। -nविकल्प DNS खोज कर पाएगा, जो उपयोगी होता है जब आपका नेटवर्क कनेक्शन धीमा या अविश्वसनीय है।


5
lsof -iआपको केवल आपके सॉकेट्स दिखाएगा जो आपके नाम स्थान तक पहुंचते हैं (और जिन्हें "इंटरनेट" सॉकेट के रूप में माना जाता है, न कि किसी भी प्रकार के नेटवर्क सॉकेट के माध्यम से)। अन्यथा टाइप 'सॉक' के हैंडल सूची में दिखाई नहीं देंगे।
निक बैस्टिन

13

देखें कि एक रनिंग एप्लिकेशन या डेमॉन की कौन सी फाइलें खुली हैं:

lsof -p pid

जहां pid एप्लिकेशन या डेमॉन की प्रोसेस आईडी है।


10
lsof +f -- /mountpoint

माउंट / माउंटपॉइंट पर माउंट की गई फ़ाइलों का उपयोग करने वाली प्रक्रियाओं को सूचीबद्ध करता है। विशेष रूप से यह जानने के लिए कि कौन सी प्रक्रिया (तों) एक माउंटेड यूएसबी स्टिक या सीडी / डीवीडी का उपयोग कर रही है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.