netstat -tulnap
मुझे दिखाता है कि कौन से बंदरगाह उपयोग में हैं। लिनक्स में एक बंदरगाह कैसे मुक्त करें?एक टीसीपी/आईपी बंदरगाह मुक्त करना?
उत्तर
प्रक्रिया है कि प्रश्न में बंदरगाह के लिए सुन रहा है मार। मेरा मानना है कि नेटस्टैट से पता चलता है कि आप आईडी को संसाधित करते हैं।
मुझे लगता है कि एक ही रास्ता प्रक्रिया है जो पोर्ट खोल दिया है को रोकने के लिए किया जाएगा।
"netstat --programs"
आदेश आप इस प्रक्रिया के बारे में जानकारी दे देंगे, यह मानते हुए आप रूट कर रहे हैं। फिर आपको "अपमानजनक" प्रक्रिया को मारना होगा जो आपको परेशान करने के लिए फिर से शुरू हो सकता है :-)।
आप वास्तव में यहाँ प्राप्त करने के लिए कोशिश कर रहे हैं? समाधान उन बंदरगाहों को पकड़ने वाली प्रक्रियाओं के आधार पर अलग-अलग होंगे।
के रूप में अन्य लोगों ने कहा, आप सभी प्रक्रियाओं है कि उस पोर्ट पर ध्यान कर रहे हैं को मारने के लिए होगा। ऐसा करने का सबसे आसान तरीका फ्यूसर (1) कमांड का उपयोग करना होगा। उदाहरण के लिए, प्रक्रियाओं पोर्ट 80 पर HTTP अनुरोध के लिए सुन को देखने के लिए (रूट या sudo का उपयोग के रूप में चलाने):
# fuser 80/tcp
आप उन्हें मारने के लिए चाहते हैं, तो बस -k विकल्प जोड़ने।
मैं पाया गया है कि बंदरगाह के लिए एक अनुरोध भेजने के भी यह साफ (i हालांकि कोई लिनक्स विशेषज्ञ नहीं है) –
डेबियन पर फ्यूसर स्थापित करने के लिए: sudo apt-get psmisc इंस्टॉल करें (http://bitflop.com/document/107) – Korneel
यह काम करता है, लेकिन मुझे सेंटो 7 पर भी psmisc इंस्टॉल करना पड़ा ('सुडो योम psmisc' स्थापित करें) –
तुम सच में एक प्रक्रिया तुरंत मारने के लिए चाहते हैं, आप इसे एक KILL संकेत के बजाय एक शब्द संकेत भेजने (उत्तरार्द्ध एक को रोकने के लिए अनुरोध, पहले किसी भी सफाई के बिना तुरंत प्रभावी हो जाएगी)। यह करने के लिए आसान है:
kill -KILL <pid>
ध्यान रखें तथापि कि कार्यक्रम आप रोक रहे हैं पर निर्भर करता है, अपने राज्य सकता है बुरी तरह से ऐसा करते हुए भ्रष्ट मिलता है। जब आप सामान्य समाप्ति कार्य नहीं करते हैं तो आप आमतौर पर केवल एक किल सिग्नल भेजना चाहते हैं। मैं सोच रहा हूं कि अंतर्निहित समस्या यह है कि आप हल करने का प्रयास करते हैं और क्या हत्या सही समाधान है।
sudo killall -9 "प्रक्रिया का नाम"
कंप्यूटर शट डाउन हो रहा हमेशा प्रक्रिया मेरे लिए मारता है।
सर्वर मशीन को बंद करना रार है ई। – waqas
क्या आपको अपना "मजेदार" बैज मिला? – jplandrain
अपने कंप्यूटर को बंद करने की कोई आवश्यकता नहीं है। –
आप tcpkill
(dsniff
पैकेज का हिस्सा) का उपयोग कर सकते कनेक्शन पोर्ट की जरूरत पर है को मारने के लिए:
sudo tcpkill -9 port PORT_NUMBER
काम करेगा यह एकमात्र तरीका है जो मेरे लिए काम करता है। – brousch
यह सिर्फ '$ sudo tcpkill -9 पोर्ट 5432 tcpkill लटकता है: lxcbr0 [पोर्ट 5432]' – Anentropic
करने के लिए एक कमांड नीचे का उपयोग लिनक्स में एक विशिष्ट पोर्ट को मारने
sudo fuser -k Port_Number/tcp
अपने कब्जे वाले बंदरगाह के साथ Port_Number को प्रतिस्थापित करें।
पर सुनना यह वास्तव में उस प्रक्रिया को मारता है जिसने बंदरगाह खोला और पोर्ट बंद नहीं किया। – vinayc
टर्मिनल प्रकार में:
netstat -anp|grep "port_number"
यह बंदरगाह विवरण दिखाएगा। अंतिम कॉलम पर जाएं। यह इस प्रारूप में होगा।उदाहरण के लिए: - पीआईडी / जावा
तो निष्पादित करें:
kill -9 PID. Worked on Centos5
स्पष्ट रूप से यह काम नहीं करता है यदि पीआईडी कॉलम उस पोर्ट – Anentropic
के लिए खाली है ... और ऐसा होता है यदि आपको प्रक्रिया देखने की अनुमति नहीं है ... वास्तव में पीआईडी देखने के लिए 'sudo netstat' आज़माएं :) – Anentropic
मैक –
netstat -anp | ग्रेप अंतिम स्तंभ प्रक्रिया –
user1747935