[ Linux ] كيف تقتل عملية Linux باستخدام رقم المنفذ

Deve-PoinT

Deve-PoinT

Administrative
طاقم الإدارة
مــدير عـــام
11 يوليو 2022
708
5
61
28
Egypt
هل سبق لك أن واجهت موقفًا تحتاج فيه إلى إيقاف عملية تعمل على منفذ معين على جهاز Linux الخاص بك؟

قد تكون قلقًا من أن أحد التطبيقات التي تقوم بتشغيلها يسيء التصرف أو يستهلك موارد الشبكة أو طاقة وحدة المعالجة المركزية المحلية. يمكن أن يكون مثل هذا التطبيق تهديدًا أمنيًا تريد القضاء عليه.

مهما كان السبب ، يمكنك استخدام أوامر fuser و lsof و netstat من الجهاز الطرفي (جنبًا إلى جنب مع القتل ) لمساعدتك في العثور على أي عملية لينكس وقتلها باستخدام رقم منفذ. ستعمل هذه الأوامر على معظم أنظمة تشغيل Linux ، بما في ذلك Ubuntu.

L a linux process using a port number 1 compressed

كيف تقتل عملية Linux باستخدام أمر الصهر​


من أسهل الطرق لقتل عملية باستخدام رقم منفذ هو استخدام أمر الصهر . يمكن لأمر Linux Terminal هذا سرد أو قتل عمليات الوصول إلى الملفات أو المقابس. إذا كان أحد التطبيقات يعمل مع نشاط الشبكة (وبالتالي يستخدم منفذًا مفتوحًا) ، فمن المحتمل أنه يقوم بأحد هذين الأمرين.

قبل المتابعة ، ستحتاج إلى التأكد من أنك مرتاح لاستخدام محطة سطر الأوامر على جهاز كمبيوتر يعمل بنظام Linux.

L a linux process using a port number 2 compressed

لسرد العمليات التي تستخدم رقم منفذ باستخدام المصهر ، يمكنك استخدام الصيغة التالية:

منفذ بروتوكول fuser -n

في هذا المثال ، يمكن أن يكون البروتوكول هو tcp أو udp ، بينما المنفذ هو رقم المنفذ الذي تريد التحقق منه. على سبيل المثال ، لمعرفة العمليات التي تستخدم منفذ TCP 80 ، يمكنك تشغيل:

المنصهر -n tcp 80

سيؤدي هذا إلى طباعة معرفات العملية (PIDs) للعمليات التي تستخدم هذا المنفذ.

لقتل هذه العمليات ، يمكنك إضافة الخيار -k إلى وحدة المصهر . سيؤدي هذا إلى إرسال إشارة SIGTERM إلى كل عملية ، وتطلب منهم الإنهاء بأمان. على سبيل المثال:

المنصهر -k -n tcp 80

سيؤدي هذا إلى قتل جميع العمليات باستخدام منفذ TCP 80.

إذا كانت بعض العمليات لا تستجيب لـ SIGTERM ، فيمكنك استخدام -KILL بدلاً من -k . سيؤدي هذا إلى إرسال إشارة قتل (SIGKILL) ، والتي يمكن أن تساعد في إجبار العمليات الجارية التي حددتها على الإنهاء على الفور. ومع ذلك ، قد يتسبب ذلك في فقد البيانات أو تلفها ، لذا استخدمها بحذر. على سبيل المثال:

المنصهر - KILL -n tcp 80

سيؤدي هذا إلى قتل جميع العمليات باستخدام منفذ TCP 80 بقوة. إذا واجهت أي مشاكل ، فقم بتشغيل هذه الأوامر كمستخدم متميز (باستخدام الأمر sudo ) أو باستخدام المستخدم الجذر بدلاً من ذلك.

كيف تقتل عملية لينكس باستخدام الأمر lsof​


هناك طريقة أخرى لقتل عملية باستخدام رقم منفذ على كمبيوتر يعمل بنظام Linux وهي استخدام الأمر lsof . يمكن لهذا الأمر سرد الملفات والمآخذ المفتوحة على نظامك.

L a linux process using a port number 3 compressed

لسرد العمليات التي تستخدم رقم منفذ معين ، يمكنك استخدام بناء الجملة التالي:

بروتوكول lsof -i: ص ort

كما في السابق ، يمكن أن يكون البروتوكول tcp أو udp ، بينما المنفذ هو رقم المنفذ الذي تريد التحقق منه. على سبيل المثال ، لمعرفة العمليات التي تستخدم منفذ TCP 53 (يُستخدم عادةً لطلبات DNS) ، يمكنك تشغيل هذا الأمر:

lsof -i tcp: 53

سيؤدي هذا إلى طباعة بعض المعلومات حول كل عملية باستخدام هذا المنفذ ، بما في ذلك PID الخاص به.

لقتل هذه العمليات ، يمكنك استخدام الخيار -t مع lsof . سيؤدي هذا فقط إلى طباعة معرفات PID للعمليات دون أي معلومات أخرى. يمكنك بعد ذلك توجيه هذا الإخراج إلى أمر القتل بأي خيار إشارة. على سبيل المثال:

kill $ (lsof -t -i tcp: 53)

سيرسل هذا إشارات SIGTERM (الافتراضي) إلى جميع العمليات التي تستخدم منفذ TCP 53.

إذا كانت بعض العمليات لا تستجيب لإشارات SIGTERM كما كانت من قبل ، فيمكنك استخدام -9 بدلاً من لا شيء بعد القتل . سيؤدي هذا إلى إرسال إشارات SIGKILL كما كان من قبل ، مما يجبرها على الإنهاء على الفور ولكن قد يتسبب أيضًا في فقد البيانات أو تلفها. على سبيل المثال:

kill -9 $ (lsof -t -i tcp: 53)

سيؤدي هذا إلى إرسال إشارات SIGKILL بقوة (الافتراضي) إلى جميع العمليات باستخدام منفذ TCP 53.

كيف تقتل عملية Linux باستخدام الأمر netstat​


يمكنك أيضًا استخدام الأمر netstat لتتبع العمليات الجارية على كمبيوتر Linux الخاص بك باستخدام منافذ شبكة نشطة ومفتوحة. يتيح لك netstat عرض اتصالات الشبكة والإحصائيات على نظامك ، مما يسمح لك بتحديد العمليات الإشكالية.

لسرد العمليات باستخدام رقم منفذ جنبًا إلى جنب مع PIDs ، تحتاج إلى إضافة خيارين: -p ، والذي يعرض PIDs ، و -l ، والذي يعرض مآخذ الاستماع فقط.

تحتاج أيضًا إلى تحديد البروتوكول (tcp ، udp ، إلخ) والتصفية اختياريًا حسب الحالة (LISTEN ، إلخ). على سبيل المثال ، لمعرفة عمليات TCP التي تستمع على أي منافذ ، يمكنك تشغيل:

netstat -p tcp -l

سيؤدي هذا إلى طباعة معلومات حول كل مقبس TCP يستمع على أي منافذ ، بما في ذلك PID الخاص به.

L a linux process using a port number 4 compressed

للتصفية حسب منافذ معينة ، يجب إضافة خيار آخر: -n ، والذي يعرض عناوين رقمية بدلاً من الأسماء. تحتاج أيضًا إلى تحديد تنسيق العنوان الدقيق: [بروتوكول] [@ hostname | hostaddr] [: service | port] .

على سبيل المثال ، لمعرفة عمليات TCP التي يتم الاستماع إليها على المنفذ 80 ، يمكنك تشغيل:

netstat -p tcp -l -n 80

سيؤدي هذا إلى طباعة معلومات حول كل مأخذ توصيل TCP يستمع على المنفذ 8080 ، بما في ذلك PID الخاص به.

L a linux process using a port number 5 compressed

لقتل هذه العمليات ، يمكنك استخدام أمر kill مع أي خيار إشارة تريده ومع معرفات PID التي حصلت عليها من netstat. على سبيل المثال:

اقتل 1234 5678

سيؤدي هذا إلى إرسال إشارات SIGTERM (الافتراضية) إلى العمليات باستخدام PIDs 1234 و 5678 .

إذا كانت بعض العمليات لا تستجيب لإشارات SIGTERM كما كانت من قبل ، فيمكنك استخدام -9 بدلاً من لا شيء بعد القتل . سيؤدي هذا إلى إرسال إشارات SIGKILL كما كان من قبل ، مما يجبرها على الإنهاء على الفور ولكن قد يتسبب في فقد البيانات أو تلفها كما كان من قبل. على سبيل المثال:

قتل -9 1234 5678

سيؤدي هذا إلى إرسال إشارات SIGKILL إلى العمليات باستخدام PIDs 1234 و 5678 بقوة ، على سبيل المثال. استبدل 1234 بـ PID الصحيح لعملية التشغيل الخاصة بك.

L a linux process using a port number 6 compressed

تحكم في تطبيقات Linux الخاصة بك​


بفضل الخطوات الموضحة أعلاه ، يمكنك إنهاء عملية تشغيل Linux بسرعة باستخدام رقم منفذ باستخدام سطر أوامر Linux. تذكر توخي الحذر عند قتل العمليات ، خاصةً مع إشارات SIGKILL ، لأنها قد تسبب آثارًا جانبية غير مرغوب فيها - فأنت لا تريد التسبب في عدم استقرار النظام ، بعد كل شيء.

هل تريد إلقاء نظرة عن كثب على أداء نظامك على Linux؟ قد ترغب في التحقق من استخدام الذاكرة الخاصة بك على Linux بعد ذلك. إذا كنت قلقًا بشأن مخاطر أمنية محتملة ، فقد ترغب في تغيير كلمة مرورك على Linux أيضًا.

هل تحتاج إلى التبديل إلى توزيع Linux جديد؟ إذا كنت مبتدئًا ، ففكر في Linux Mint كبديل آمن ومستقر.
 
التعديل الأخير: