هل هناك أي طريقة لكتابة ملف Windows .bat لقتل العمليات؟

StackOverflow https://stackoverflow.com/questions/33822

  •  09-06-2019
  •  | 
  •  

سؤال

لذلك في كل مرة أقوم فيها بتشغيل جهاز التطوير المملوك لشركتي، يجب علي إنهاء أكثر من 10 عمليات باستخدام مدير المهام أو أي تطبيق آخر لإدارة العمليات فقط للحصول على أداء لائق من IDE الخاص بي.نعم، هذه عمليات من البرامج التي تقوم شركتي بتثبيتها على الجهاز الخاص بي لأغراض الأمان والامتثال.ما أود فعله هو الحصول على ملف .bat أو برنامج نصي من نوع ما يمكنني تشغيله وإنهاء العمليات المعنية.

هل يعرف أحد بالفعل كيفية القيام بذلك؟

هل كانت مفيدة؟

المحلول

يمكنك القيام بذلك باستخدام "taskkill".باستخدام المعلمة /IM، يمكنك تحديد أسماء الصور.مثال:

Taskkill /im somecorporateprocess.exe

يمكنك أيضًا القيام بذلك "لإجبار" القتل:

Taskkill /f /im somecorporateprocess.exe

ما عليك سوى إضافة سطر واحد لكل عملية تريد إيقافها، وحفظها كملف .bat، ووضعها في دليل بدء التشغيل.تم حل المشكلة!

إذا كان هذا نظامًا قديمًا، بسكيل سوف تفعل الشيء نفسه.

نصائح أخرى

taskkill /f /im "devenv.exe"

سيؤدي هذا إلى قتل pid بالقوة باسم exe "devenv.exe"

يعادل -9 في أمر nix'y kill

نظرًا لأن TASKKILL قد لا يكون متاحًا في بعض الإصدارات الرئيسية/الأساسية من Windows، فإليك بعض البدائل:

TSKILL processName

أو

TSKILL PID

ضع في اعتبارك ذلك processName لا ينبغي أن يكون .exe لاحقة ويقتصر على 18 حرفا.

خيار آخر هو WMIC :

wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate

تقدم Wmic مرونة أكبر من Taskkill .With wmic Path win32_process get يمكنك رؤية الحقول المتاحة التي يمكنك تصفيتها.

أفترض كمطور أن لديك درجة معينة من التحكم الإداري على جهازك.إذا كان الأمر كذلك، من سطر الأوامر، قم بتشغيل msconfig.exe.يمكنك إزالة العديد من العمليات من البداية، وبالتالي القضاء على الحاجة إلى قتلها باستخدام الحلول المذكورة أعلاه.

يحصل التشغيل التلقائي من مارك روسينوفيتش، رجل Sysinternals الذي اكتشف برنامج Sony Rootkit...أفضل برنامج استخدمته على الإطلاق لتنظيف الأشياء التي تبدأ تلقائيًا.

تحميل PSKill.اكتب ملفًا دفعيًا يستدعيه لكل عملية تريد إيقافها، مع تمرير اسم العملية لكل منها.

استخدم بوويرشيل!المدمج في cmdlets لإدارة العمليات. أمثلة هنا (طريق صعب)، هنا(مدمج) و هنا (أكثر).

يرجى العثور على المنطق أدناه حيث يعمل على هذه الحالة.

إذا اتصلنا ببساطة taskkill /im applicationname.exe, لن يقتل إلا إذا كانت هذه العملية قيد التشغيل.إذا لم تكن هذه العملية قيد التشغيل، فسوف يلقي خطأ.

وذلك للتأكد من قبل takskill يتم استدعاؤه، ويمكن إجراء فحص للتأكد من تنفيذه taskkill سيتم تنفيذه فقط إذا كانت العملية قيد التشغيل، حتى لا يحدث خطأ.

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

لقد كتبت هنا مثالًا لأمر يمكنك لصقه في ملف cmd موجه سطر الأوامر وهو مكتوب ل chrome.exe.

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

يأخذ فقط كل PIDالمدرجة في أدناه tasklist يأمر وينفذ TASKKILL /PID على كل PID

tasklist /FO Table /M "chrome*" /NH

إذا كنت تستخدم for في ملف دفعي، فما عليك سوى استخدام %%P بدلاً من %P

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top