السبت، 10 أكتوبر 2015

كيف توقف خدمة في ويندوز بشكل إجباري



عند تشغيل/إيقاف Windows Service من خلال الشاشة services.msc أو من خلال سطر الأوامر Command Line باستخدام أحد الأمرين التاليين:

sc start [ServiceName]
sc stop [ServiceName]

في بعض الأحيان قد تعلق الخدمة في الوضع Starting أو Stopping لعدة أسباب من أهمها وجود شيفرة برمجية غير صحيحة في الحدث OnStart أو الحدث OnStop.

فمثلاً لنفترض الخدمة في الحالة Running ونريد إطفاءها (إيقافها عن العمل) وفي الحدث OnStop يوجد السطر التالي فقط:

throw new Exception(“”);

هذا يعني أنه عند كل محاول إيقاف الخدمة سيتم رمي هذا الاستثناء وبالتالي فشل عملية الإيقاف ولن يتمكن المستخدم من إيقاف الخدمة. لإيقاف مثل هذه الخدمات يجب اتباع الخطوات التالية:

1 – الحصول على اسم الخدم التي يجب إيقافها وذلك بالضغط عليها مرتين في شاشة خدمات نظام التشغيل services.msc


2 – تشغيل سطر الأوامر كمدير للنظام Run Command Prompt as administrator.

3 - نفذ السطر التالي

sc queryex TimeBroker

عندها تظهر النتيجة التالي:



نلاحظ القيمة PID تساوي 1348 وهو رقم العملية التي تشغل الخدمة ضمن نظام التشغيل.

4 – الخطوة الأخيرة هي تنفيذ الأمر التالي لقتل العملية رقم 1348 لإيقاف الخدمة عن العمل بشكل إجباري



بعد تنفيذ الأمر السابق ستكون الخدمة قد توقفت بشكل إجباري.









ليست هناك تعليقات:

إرسال تعليق