هل هناك أي طريقة لكتابة ملف Windows .bat لقتل العمليات؟
-
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.اكتب ملفًا دفعيًا يستدعيه لكل عملية تريد إيقافها، مع تمرير اسم العملية لكل منها.
يرجى العثور على المنطق أدناه حيث يعمل على هذه الحالة.
إذا اتصلنا ببساطة 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