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

Deve-PoinT

Deve-PoinT

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

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

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

Advertisement
L a linux process using a port number 1 compressed

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


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

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

Advertisement
L a linux process using a port number 2 compressed

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

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

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

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

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

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

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

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

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

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

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

Advertisement

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


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

Advertisement
L a linux process using a port number 3 compressed

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

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

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

lsof -i tcp: 53
Advertisement

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

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

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

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

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

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

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

Advertisement

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


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

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

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

netstat -p tcp -l

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

L a linux process using a port number 4 compressed
Advertisement

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

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

netstat -p tcp -l -n 80
Advertisement

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

Advertisement
L a linux process using a port number 5 compressed

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

اقتل 1234 5678

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

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

قتل -9 1234 5678

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

L a linux process using a port number 6 compressed
Advertisement

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


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

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

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