Taskkill.exe: প্রক্রিয়াটি চলমান না থাকলে একটি ত্রুটি ছুঁড়বেন না


33

আমি একটি ভিজ্যুয়াল স্টুডিও পোস্ট বিল্ড ইভেন্ট চালাচ্ছি যা আইআইএস বন্ধ করে দেয় যদি এটি এখনও সংকলনের পরে চলছে:

taskkill /f /im w3wp.exe

নিম্নলিখিতটি আইআইএস চলমান থাকলে নিখুঁতভাবে কাজ করে তবে ইতিমধ্যে এটি বন্ধ হয়ে থাকলে একটি ত্রুটি ছুঁড়ে ফেলে:

Error 1 The process "w3wp.exe" not found. xxx\EXEC

যদি কোনও ম্যাচিং চলমান প্রক্রিয়াটি খুঁজে না পায় তবে সমস্যাটিকে উপেক্ষা করার জন্য টাস্ককিলকে বলার কোনও উপায় আছে কি?

উত্তর:


29

একটি কমান্ড চালানোর পরিবর্তে, একটি ছোট ব্যাচের ফাইল চালানো পরিবর্তে কাজ করবে?

tasklist /FI "IMAGENAME eq w3wp.exe" 2>NUL | find /I /N "w3wp.exe">NUL
if "%ERRORLEVEL%"=="0" taskkill /f /im w3wp.exe

22

এটির যে সমাধানটি আমি পেয়েছি তা হল চালানো

START /wait taskkill /f /im w3wp.exe

এটি START কমান্ড থেকে সাফল্য ফিরে আসে এবং TASKKILL দ্বারা নিক্ষিপ্ত যে কোনও ত্রুটি নতুন কনসোল উইন্ডোতে ফেলে দেওয়া হয়


5
এবং আপনি যদি ব্যাচ ফাইলটি চালিয়ে যাওয়ার আগে কাজগুলি হত্যার জন্য অপেক্ষা করতে চান। কেবল যুক্ত করুন:START /wait taskkill /f /im w3wp.exe
jezternz

1
অপেক্ষা একটি খুব গুরুত্বপূর্ণ বিশদ। বিভ্রান্তি এড়াতে আমি এটিকে মূল উত্তরে সম্পাদনা করব। ধন্যবাদ @ জেজ্টার্নজ!
ডাস্টিন গেমসটার

15

এটি খুব ভাল কাজ করে:

taskkill /IM "w3wp.exe" /F /FI "STATUS eq RUNNING"

আমি এটি কাজ করতে পারিনি - আমার টাস্ককিলের সংস্করণ "STATUS EQ RUNNING" স্বীকৃত বলে মনে হচ্ছে না। তবে, "মেমूस জিটি 2" কাজ করে।
পলিফুন

আমি দেখতে পেয়েছি যে প্রক্রিয়াগুলি আটকে থাকতে পারে বা আটকাতে পারে না ধরার জন্য "স্ট্যাটাস এক ইউএনএনএনএনউইন" একটি ভাল বিকল্প ছিল (তবে উভয় উপায়ে আপনি এগুলি চান না)
অ্যান্ডি ক্রাউয়েল

10

অথবা, এটি না পাওয়া মাত্র একটি তথ্য বার্তা ফেরত দেবে:

taskkill /f /im w3wp.exe /fi "memusage gt 2"

থেকে তথ্য: এখানে


3

এটি একটি লাইন সমাধান

এটি কেবলমাত্র প্রক্রিয়াটি চালিত হবে যদি প্রক্রিয়াটি সত্যিই চলমান থাকে অন্যথায় এটি কেবল এটি চালিত নয় যে তথ্যটি জানায়।

tasklist | find /i "w3wp.exe" && taskkill /im w3wp.exe /F || echo process "w3wp.exe" not running.

প্রক্রিয়া চলমান থাকলে এটিই আউটপুট:

w3wp.exe           1960 Services                   0    112,260 K
SUCCESS: The process "w3wp.exe" with PID 1960 has been terminated.

চলমান না হলে এটি আউটপুট:

process "w3wp.exe" not running.

0

প্রক্রিয়াটিকে হত্যা করতে বাধ্য করে (যদি প্রক্রিয়াটি চলমান থাকে), এবং কোনও তথ্য আউটপুট দেবেন না।

নিম্নলিখিত কমান্ড ঠিক আছে।

taskkill /f /im w3wp.exe /t /fi "status eq running">nul


কিভাবে এই w3wp.exe হত্যা করবে?
জেসন অ্যালার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.