lsof

प्रोसेस और सिस्टम

इस्तेमाल

lsof -i :<port>

हर खुली फ़ाइल और सॉकेट सूचीबद्ध करता है, इसी से पता चलता है कि पोर्ट 3000 किसने पकड़ रखा है; sudo के बिना आप केवल अपनी प्रक्रियाएँ देखते हैं, इसलिए खाली परिणाम का अर्थ नहीं है कि पोर्ट खाली है।

आम विकल्प

विकल्पअर्थ
-i :3000Which process holds port 3000, in either direction.
-i TCP -sTCP:LISTENListening TCP sockets only.
-tPrint bare PIDs, made for piping into kill.
-p <pid>Everything one process has open.
-u <user>One user's open files.
+D <dir>Every open file underneath a directory, recursively.
-n -PSkip host and port name lookups, which makes it much faster.

उदाहरण

lsof -i :3000

The classic answer to "something is already using port 3000".

kill -9 $(lsof -ti :3000)

Kill whatever holds that port.

sudo lsof +D /var/log

Find the process keeping a deleted log file open.

क्या चल रहा है और क्या मशीन खा रहा है। मारने से पहले पहचानना क्रम है।

कैसे पढ़ें

  • बड़े कोष्ठक [ ] उस हिस्से को दिखाते हैं जिसे छोड़ा जा सकता है।
  • तीन बिंदु … का मतलब है एक से ज़्यादा दिए जा सकते हैं।
  • विकल्पों में बड़े-छोटे अक्षर मायने रखते हैं — कुछ कमांड में -r और -R अलग काम करते हैं।

आम सवाल

Q. lsof क्या करता है?

हर खुली फ़ाइल और सॉकेट सूचीबद्ध करता है, इसी से पता चलता है कि पोर्ट 3000 किसने पकड़ रखा है; sudo के बिना आप केवल अपनी प्रक्रियाएँ देखते हैं, इसलिए खाली परिणाम का अर्थ नहीं है कि पोर्ट खाली है।

Q. इसे कैसे लिखें?

lsof -i :<port> — बड़े कोष्ठक वह हिस्सा दिखाते हैं जो छोड़ा जा सकता है।

Q. कितने विकल्प जानने लायक़ हैं?

यहाँ 7 दिए हैं; पूरी सूची man lsof में है। यह कमांड प्रोसेस और सिस्टम में आती है।

मिलती-जुलती कमांड

man पेज: man lsof