گاهی یک برنامه در ویندوز ۱۱ هنگ میکند و حتی بعد از انتخاب End task هم بسته نمیشود. این وضعیت معمولاً زمانی رخ میدهد که برنامه پاسخ نمیدهد یا فرایند اصلی آن منتظر یک فرایند دیگر است. خود Task Manager ابزار داخلی ویندوز برای مشاهده و مدیریت فرایندهاست و در چنین شرایطی میتواند برای پایان دادن به برنامههای بدون پاسخ استفاده شود.
چرا در ویندوز ۱۱ نمیتوان یک برنامه را از Task Manager بست؟
گزینه End task در حالت عادی تلاش میکند فرایند را متوقف کند، اما بعضی برنامهها چند فرایند وابسته دارند. در چنین شرایطی ممکن است فرایند اصلی بسته نشود یا یکی از فرایندهای فرزند همچنان فعال بماند. بعضی فرایندهای سیستمی و امنیتی نیز به دلیل سطح دسترسی یا محافظتهای ویندوز بهسادگی قابل توقف نیستند.
اگر برنامهای کاملاً هنگ کرده باشد، بهتر است بهجای تکرار چندباره End task سراغ Details و اطلاعات دقیق فرایند بروید. مایکروسافت نیز برای عیبیابی فرایندهای بدون پاسخ استفاده از بخش Details و بررسی وابستگیهای فرایندها را توصیه میکند.
بستن کامل برنامه با End process tree
اگر برنامه چند فرایند وابسته داشته باشد، بستن تنها فرایند اصلی ممکن است کافی نباشد. در Task Manager میتوانید از End process tree استفاده کنید تا فرایند انتخابشده و فرایندهای فرزند آن نیز همزمان متوقف شوند.
برای باز کردن Task Manager از کلید میانبر Ctrl + Shift + Esc استفاده کنید. سپس به بخش Details بروید و فرایند مربوط به برنامه هنگکرده را پیدا کنید.
روی فرایند موردنظر کلیک راست کنید و End process tree را انتخاب کنید. این روش برای برنامههایی که چند فرایند مرتبط دارند میتواند مؤثرتر از End task معمولی باشد.
اگر نام فرایند را نمیدانید، ابتدا در بخش Processes برنامه را پیدا کنید. با کلیک راست روی برنامه و انتخاب Go to details میتوانید مستقیماً به فرایند مرتبط در بخش Details بروید.
بستن فرایند هنگکرده با Command Prompt
اگر Task Manager هم نتوانست فرایند را ببندد، Command Prompt میتواند گزینه دیگری باشد. ابزار taskkill امکان پایان دادن اجباری به یک فرایند را بر اساس PID فراهم میکند و با گزینه /t فرایندهای فرزند آن را نیز درگیر میکند.
برای پیدا کردن PID ابتدا Task Manager را باز کنید و به بخش Details بروید. عدد مربوط به فرایند را از ستون PID یادداشت کنید.
برای باز کردن Command Prompt با دسترسی مدیر، عبارت Command Prompt را در جستوجوی ویندوز وارد کنید و روی Run as administrator کلیک کنید. سپس دستور زیر را با PID واقعی فرایند اجرا کنید:
taskkill /f /t /pid 1234
عدد 1234 را با PID واقعی برنامه جایگزین کنید. گزینه /f پایان اجباری فرایند را درخواست میکند و /t باعث میشود فرایندهای فرزند نیز همراه آن بسته شوند.
اگر چند فرایند مشخص را میخواهید متوقف کنید، میتوانید برای هر PID یک پارامتر جداگانه استفاده کنید. همچنین taskkill امکان فیلتر کردن فرایندهایی را دارد که ویندوز آنها را در وضعیت پاسخگو نبودن تشخیص داده است.
taskkill /f /fi "status eq not responding"
در استفاده از این دستور دقت کنید، چون پایان اجباری ممکن است باعث از دست رفتن اطلاعات ذخیرهنشده برنامه شود.
استفاده از PowerShell برای توقف اجباری فرایند
روش دیگر استفاده از PowerShell است. این روش بهخصوص زمانی کاربرد دارد که بخواهید فرایند را با نام یا PID مشخص کنید. مایکروسافت برای Stop-Process امکان تعیین شناسه فرایند یا نام آن را فراهم کرده و گزینه Force نیز برای توقف اجباری فرایند کاربرد دارد.
برای باز کردن PowerShell با دسترسی مدیر، عبارت PowerShell را در جستوجوی ویندوز وارد کنید و روی Run as administrator کلیک کنید.
برای پیدا کردن فرایند موردنظر میتوانید از دستور زیر استفاده کنید:
Get-Process *chrome*
برای توقف یک فرایند بر اساس PID نیز میتوانید دستور زیر را اجرا کنید:
Stop-Process -Id 1234 -Force
اگر نام فرایند را میدانید، امکان استفاده از نام نیز وجود دارد:
Stop-Process -Name chrome -Force
توجه داشته باشید که اجرای PowerShell با دسترسی مدیر برای برخی فرایندهایی که متعلق به کاربر فعلی نیستند ضروری است. همچنین توقف فرایندهای سیستمی میتواند باعث اختلال در ویندوز یا سرویسهای وابسته شود.
بررسی علت هنگ کردن برنامه با Analyze wait chain
گاهی مشکل خود برنامه نیست و فرایند موردنظر منتظر فرایند یا منبع دیگری است. Task Manager برای چنین شرایطی قابلیت Analyze wait chain دارد که وابستگی فرایندها را به شکل یک ساختار درختی نمایش میدهد. مایکروسافت توضیح میدهد که این قابلیت میتواند نشان دهد یک فرایند منتظر پایان یافتن فرایند دیگری است.
در Task Manager به بخش Details بروید و فرایند موردنظر را پیدا کنید. سپس روی آن کلیک راست کنید و Analyze wait chain را انتخاب کنید.
اگر فرایند در حال انتظار باشد، پنجرهای باز میشود که فرایند یا فرایندهای مرتبط را نشان میدهد. در صورت وجود یک فرایند وابسته، ممکن است با پایان دادن به همان فرایند مشکل برنامه اصلی نیز برطرف شود.
اگر هیچ روشی برای بستن فرایند جواب نداد
اگر End task و End process tree کار نکردند و حتی taskkill یا Stop-Process نیز نتوانستند فرایند را متوقف کنند، احتمال دارد فرایند به یک بخش سیستمی یا سرویس دیگر وابسته باشد. در چنین وضعیتی بهتر است بهجای متوقف کردن تصادفی فرایندهای دیگر، ویندوز را راهاندازی مجدد کنید.
همچنین اگر یک برنامه خاص مرتباً هنگ میکند، فقط بستن فرایند راهحل دائمی نیست. بروزرسانی برنامه و ویندوز و بررسی درایورها و سرویسهای مرتبط میتواند برای پیدا کردن علت اصلی مفید باشد. Task Manager نیز میتواند اطلاعات مصرف CPU و حافظه و سایر منابع را برای پیدا کردن برنامه مشکلساز در اختیار شما قرار دهد.
نکته مهم: فرایندهای ناشناخته سیستم را فقط به دلیل نام یا مصرف منابع بالا متوقف نکنید. اگر مطمئن نیستید یک فرایند متعلق به کدام برنامه است، ابتدا نام فایل و محل آن را بررسی کنید.
گیم پلنت