2009-04-15 12 views

उत्तर

7

प्रक्रिया है कि प्रश्न में बंदरगाह के लिए सुन रहा है मार। मेरा मानना ​​है कि नेटस्टैट से पता चलता है कि आप आईडी को संसाधित करते हैं।

+3

netstat -anp | ग्रेप अंतिम स्तंभ प्रक्रिया – user1747935

0

मुझे लगता है कि एक ही रास्ता प्रक्रिया है जो पोर्ट खोल दिया है को रोकने के लिए किया जाएगा।

9

"netstat --programs" आदेश आप इस प्रक्रिया के बारे में जानकारी दे देंगे, यह मानते हुए आप रूट कर रहे हैं। फिर आपको "अपमानजनक" प्रक्रिया को मारना होगा जो आपको परेशान करने के लिए फिर से शुरू हो सकता है :-)।

आप वास्तव में यहाँ प्राप्त करने के लिए कोशिश कर रहे हैं? समाधान उन बंदरगाहों को पकड़ने वाली प्रक्रियाओं के आधार पर अलग-अलग होंगे।

160

के रूप में अन्य लोगों ने कहा, आप सभी प्रक्रियाओं है कि उस पोर्ट पर ध्यान कर रहे हैं को मारने के लिए होगा। ऐसा करने का सबसे आसान तरीका फ्यूसर (1) कमांड का उपयोग करना होगा। उदाहरण के लिए, प्रक्रियाओं पोर्ट 80 पर HTTP अनुरोध के लिए सुन को देखने के लिए (रूट या sudo का उपयोग के रूप में चलाने):

# fuser 80/tcp 

आप उन्हें मारने के लिए चाहते हैं, तो बस -k विकल्प जोड़ने।

+1

मैं पाया गया है कि बंदरगाह के लिए एक अनुरोध भेजने के भी यह साफ (i हालांकि कोई लिनक्स विशेषज्ञ नहीं है) –

+1

डेबियन पर फ्यूसर स्थापित करने के लिए: sudo apt-get psmisc इंस्टॉल करें (http://bitflop.com/document/107) – Korneel

+1

यह काम करता है, लेकिन मुझे सेंटो 7 पर भी psmisc इंस्टॉल करना पड़ा ('सुडो योम psmisc' स्थापित करें) –

2

तुम सच में एक प्रक्रिया तुरंत मारने के लिए चाहते हैं, आप इसे एक KILL संकेत के बजाय एक शब्द संकेत भेजने (उत्तरार्द्ध एक को रोकने के लिए अनुरोध, पहले किसी भी सफाई के बिना तुरंत प्रभावी हो जाएगी)। यह करने के लिए आसान है:

kill -KILL <pid> 

ध्यान रखें तथापि कि कार्यक्रम आप रोक रहे हैं पर निर्भर करता है, अपने राज्य सकता है बुरी तरह से ऐसा करते हुए भ्रष्ट मिलता है। जब आप सामान्य समाप्ति कार्य नहीं करते हैं तो आप आमतौर पर केवल एक किल सिग्नल भेजना चाहते हैं। मैं सोच रहा हूं कि अंतर्निहित समस्या यह है कि आप हल करने का प्रयास करते हैं और क्या हत्या सही समाधान है।

-12

कंप्यूटर शट डाउन हो रहा हमेशा प्रक्रिया मेरे लिए मारता है।

+0

सर्वर मशीन को बंद करना रार है ई। – waqas

+13

क्या आपको अपना "मजेदार" बैज मिला? – jplandrain

+0

अपने कंप्यूटर को बंद करने की कोई आवश्यकता नहीं है। –

12

आप tcpkill (dsniff पैकेज का हिस्सा) का उपयोग कर सकते कनेक्शन पोर्ट की जरूरत पर है को मारने के लिए:

sudo tcpkill -9 port PORT_NUMBER 
+0

काम करेगा यह एकमात्र तरीका है जो मेरे लिए काम करता है। – brousch

+5

यह सिर्फ '$ sudo tcpkill -9 पोर्ट 5432 tcpkill लटकता है: lxcbr0 [पोर्ट 5432]' – Anentropic

40

करने के लिए एक कमांड नीचे का उपयोग लिनक्स में एक विशिष्ट पोर्ट को मारने

sudo fuser -k Port_Number/tcp 

अपने कब्जे वाले बंदरगाह के साथ Port_Number को प्रतिस्थापित करें।

+1

पर सुनना यह वास्तव में उस प्रक्रिया को मारता है जिसने बंदरगाह खोला और पोर्ट बंद नहीं किया। – vinayc

3

टर्मिनल प्रकार में:

netstat -anp|grep "port_number"

यह बंदरगाह विवरण दिखाएगा। अंतिम कॉलम पर जाएं। यह इस प्रारूप में होगा।उदाहरण के लिए: - पीआईडी ​​/ जावा

तो निष्पादित करें:

kill -9 PID. Worked on Centos5

+0

स्पष्ट रूप से यह काम नहीं करता है यदि पीआईडी ​​कॉलम उस पोर्ट – Anentropic

+1

के लिए खाली है ... और ऐसा होता है यदि आपको प्रक्रिया देखने की अनुमति नहीं है ... वास्तव में पीआईडी ​​देखने के लिए 'sudo netstat' आज़माएं :) – Anentropic

+0

मैक –

संबंधित मुद्दे