port समस विंडोज़ पर एक पोर्ट का उपयोग करने वाली प्रक्रिया का पीआईडी पाएं




श्रोणि सूजन बीमारी तस्वीरें (5)

क्लासिक के साथ स्टार्टअप पर मेरी सेवा दुर्घटना:

java.rmi.server.ExportException: Listen failed on port: 9999

मैं इसे मारने की प्रक्रिया कैसे ढूंढ सकता हूं?


यह पोर्ट नंबर का उपयोग कर पीआईडी ​​खोजने में मदद करता है।

lsof -i tcp:port_number

कुछ पटकथा के साथ झुकाव के बाद मैं इस कार्रवाई में आया था। इसे एक .bat फ़ाइल में कॉपी और सहेजें:

FOR /F "usebackq tokens=5" %%i IN (`netstat -aon ^| find "3306"`) DO taskkill /F /PID %%i

बंदरगाह संख्या में 'ढूंढें' 3306 "'को बदलें जिसे मुफ्त में होना चाहिए। फिर फ़ाइल को व्यवस्थापक के रूप में चलाएं। यह इस बंदरगाह पर चल रही सभी प्रक्रियाओं को मार देगा


प्रक्रिया पर पीआईडी ​​खोजें जो विंडोज पर एक पोर्ट का उपयोग करें (उदाहरण के लिए बंदरगाह: "99 99")
netstat -aon | find "9999"

-a सभी कनेक्शन और बंदरगाहों को प्रदर्शित करता है।

-o प्रत्येक कनेक्शन से जुड़े स्वामित्व प्रक्रिया आईडी प्रदर्शित करता है।

-n संख्यात्मक रूप में पते और पोर्ट संख्या प्रदर्शित करता है।

उत्पादन:
TCP 0.0.0.0:9999 0.0.0.0:0 LISTENING 15776

फिर पीआईडी taskkill /F /PID 15776 द्वारा प्रक्रिया को मार taskkill /F /PID 15776

/F - प्रक्रिया (एस) को मजबूती से समाप्त करने के लिए निर्दिष्ट करता है।

नोट: कुछ निश्चित प्रक्रियाओं को मारने के लिए आपको अतिरिक्त अनुमति (व्यवस्थापक से चलाएं) की आवश्यकता हो सकती है


यदि आप प्रोग्रामेटिक रूप से ऐसा करना चाहते हैं तो आप PowerShell स्क्रिप्ट में निम्नानुसार दिए गए विकल्पों में से कुछ का उपयोग कर सकते हैं:

$processPID =  $($(netstat -aon | findstr "9999")[0] -split '\s+')[-1]
taskkill /f /pid $processPID

तथापि; ध्यान रखें कि जितना सटीक हो उतना सटीक हो सकता है कि आपका पीआईडी ​​परिणाम अधिक सटीक होगा। यदि आप जानते हैं कि बंदरगाह किस मेजबान पर होना चाहिए, तो आप इसे बहुत कम कर सकते हैं। netstat -aon | findstr "0.0.0.0:9999" netstat -aon | findstr "0.0.0.0:9999" केवल एक आवेदन लौटाएगा और सबसे सही रूप से सही होगा। केवल पोर्ट नंबर पर खोज करने से आप उन प्रक्रियाओं को वापस कर सकते हैं जिनमें केवल 9999 होता है, जैसे:

TCP    0.0.0.0:9999                        0.0.0.0:0       LISTENING       15776
UDP    [fe80::81ad:9999:d955:c4ca%2]:1900  *:*                             12331

सबसे अधिक संभावित उम्मीदवार आमतौर पर पहले समाप्त होता है, लेकिन यदि आपकी स्क्रिप्ट चलाने से पहले प्रक्रिया समाप्त हो गई है तो आप इसके बजाय पीआईडी ​​12331 के साथ समाप्त हो सकते हैं और गलत प्रक्रिया को मार सकते हैं।


बस एक कमांड खोल खोलें और टाइप करें: (कह रहा है कि आपका पोर्ट 123456 है)

netstat -a -n -o | find "123456"

आपको जो भी चाहिए वह आपको दिखाई देगा

हेडर हैं:

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:37             0.0.0.0:0              LISTENING       1111