Future ForgeFuture ForgeFuture ForgeFuture Forge
خدماتنمونه‌کارهاپکیج‌هاابزارهای رایگانیادداشت‌هادرباره ماتماس
شروع پروژه
  1. خانه
  2. /یادداشت‌ها
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

خدمات

طراحی و ساخت محصولتوسعه فول‌استکممیزی مهندسیمشاوره معماریزیرساخت و استقرارهوش مصنوعی در محصول

کاوش

نمونه‌کارهایادداشت‌هاپرسش‌هاپکیج‌ها

ابزارهای رایگان

ممیزی مهندسیمشاور معماریتخمین پروژهابزار پرامپت

شرکت

درباره ماتماسحریم خصوصیشرایط استفاده

پروژه‌تان را مطرح کنید

مسئله و محدودیت را بنویسید. اگر تطابق داشته باشیم، برای گفتگو هماهنگ می‌کنیم.

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
GitHubLinkedIn

© 2026 FutureForge. همه حقوق محفوظ است.

خانهخدماتابزارهای رایگانشروع پروژه
عملیات و استقرار

بستن اپلیکیشن هنگ‌کرده در ویندوز بدون ری‌استارت

ترتیب ایمن برای بستن اپ Not Responding: Task Manager، taskkill، Stop-Process، تفکیک سرویس و زمان ری‌استارت واقعی.

سا
سهیل ابراهیم‌پور

بنیان‌گذار و مهندس محصول

·۲۹ شهریور ۱۴۰۵·11 دقیقه مطالعه
بستن برنامه هنگ کرده ویندوزtaskkillStop-ProcessNot RespondingEnd taskhung process Windows
پنجره Not Responding با استیکی End task و Stop-Process

پنجرهٔ Not Responding، IDE سفید، یا node که پورت را رها نمی‌کند، بسیاری را مستقیم به دکمهٔ Reset می‌فرستد. ری‌استارت کار می‌کند چون همه چیز را می‌کشد — ولی ذخیرهٔ‌نشده، VMها، و اتصال‌ها را هم با خود می‌برد. در بیشتر موارد می‌توان فقط درخت همان فرایند را بست و به کار برگشت.

این مقاله ترتیب ایمن از End task تا taskkill /T، تفاوت اپ کاربر با سرویس، و نشانه‌هایی که واقعاً به ری‌استارت نیاز دارند را می‌گوید.

Task Manager و taskkill و Stop-Process -Force

پاسخ کوتاه

اول سعی کنید پنجره را با UI ببندید؛ اگر Not Responding ماند، Task Manager → End task. اگر نرفت، در Details با PID از Stop-Process -Force یا taskkill /PID /T استفاده کنید. برای سرویس‌ها Stop-Service را ترجیح دهید. وقتی کل شِل گرافیکی مرده یا دیسک ۱۰۰٪ گیر کرده، آن‌وقت ری‌استارت منطقی است.

اول PID درست را بکش؛ نه کل روز کاری را.

چرا اپ Hang می‌کند؟

  • انتظار روی I/O (شبکه، فایل قفل، آنتی‌ویروس).
  • بن‌بست نخ‌ها در خود اپ.
  • مصرف شدید حافظه و thrashing.
  • دیالوگ پنهان پشت پنجره‌ها که منتظر کلیک است.
  • فرزند zombie که والد را نگه داشته.

دانستن علت دقیق همیشه ممکن نیست؛ هدف عملی بازیابی کنترل است و بعد، اگر تکرار شد، لاگ و پروفایل.

سطح ۱: بستن مؤدبانه

  1. Alt+F4 روی پنجرهٔ هدف.
  2. اگر دیالوگ ذخیره آمد، تصمیم بگیرید.
  3. برای اپ‌های چندپنجره‌ای، همهٔ پنجره‌ها را امتحان کنید.

گاهی Hang واقعی نیست و پنجره زیر بقیه است. Win+Tab یا Alt+Tab را قبل از کشتن امتحان کنید.

سطح ۲: Task Manager

  1. Ctrl+Shift+Esc.
  2. Processes → اپ را پیدا کنید → End task.
  3. اگر چند فرایند هم‌نام است (مثلاً چند chrome)، همانی را ببندید که CPU/Memory غیرعادی دارد یا از End task درخت استفاده کنید.
  4. Go to details برای دیدن PID دقیق.

سطح ۳: PowerShell و taskkill

powershell

Get-Process | Where-Object Responding -EQ $false Get-Process code -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, Responding, CPU Stop-Process -Id <PID> -Force

powershell

taskkill /PID <PID> /T taskkill /IM node.exe /T taskkill /IM MyApp.exe /F /T

طبق Microsoft Learn، taskkill فرایند را خاتمه می‌دهد؛ /T درخت فرزندان را هم می‌گیرد که برای dev serverهای چندفرایندی مهم است. /F اجبار می‌کند وقتی خاتمهٔ عادی جواب نمی‌دهد. نام IM باید دقیق باشد تا فرایند اشتباه نرود.

Stop-Process در PowerShell معادل عملی برای اسکریپت‌هاست. قبل از -Force روی ابزار ناشناس، Confirm و نام را دوباره بخوانید.

سطح ۴: وقتی End task هم گیر می‌کند

  • صبر کوتاه اگر Disk در Performance صددرصد است؛ ممکن است بعد از اتمام I/O آزاد شود.
  • Resource Monitor → CPU → Associated Handles برای فایل قفل؛ فرایند قفل‌کننده را شناسایی کنید.
  • اگر Explorer هنگ کرده: Task Manager → Windows Explorer → Restart (نه End لزوماً).
  • برای درایور/کرنل‌لاک واقعی، ممکن است فقط ری‌استارت بماند.

سرویس در برابر اپ کاربر

اگر آنچه قفل شده یک Windows Service است، کشتن خام PID می‌تواند وضعیت StopPending و وابستگی‌ها را بدتر کند. اول:

powershell

Get-Service | Where-Object Status -EQ 'StopPending' Stop-Service -Name <Name> -Force

پورت رها نشده بعد از Hang

گاهی پنجره بسته شده ولی فرزند روی پورت مانده. بعد از taskkill /T:

powershell

Get-NetTCPConnection -LocalPort 3000 -ErrorAction SilentlyContinue | Select-Object OwningProcess, State

IDE و مرورگر: نکات ویژه

  • VS Code/Visual Studio ممکن است چند فرایند helper داشته باشند؛ /T یا End task از ریشهٔ درست.
  • مرورگر با پروفایل‌های جدا: فقط فرایند همان پنجره را هدف بگیرید تا جلسهٔ کاری دیگر نپرد.
  • ذخیرهٔ اضطراری: بعضی IDEها فایل بازیابی دارند؛ بعد از کشتن اول سراغ Restore بروید نه Panic.

چه وقت واقعاً ری‌استارت لازم است؟

نشانهاقدام
فقط یک اپ Not RespondingEnd task / taskkill
Explorer قفل، بقیه زنده‌اندRestart Explorer
ماوس/کیبورد سیستم‌عامل جواب نمی‌دهدسخت‌افزاری یا ری‌استارت
دیسک ۱۰۰٪ ماندگار + صف طولانی بدون پیشرفتپس از چند دقیقه بررسی، ری‌استارت ممکن است
صفحه آبی یا قطع نمایش کاملری‌استارت / بررسی Event بعداً

ثبت برای تکرار بعدی

اگر Hang تکرار می‌شود، قبل از کشتن سریع: زمان، نام فرایند، و یک اسکرین از Task Manager بردارید. بعد در Event Viewer به‌دنبال Application Hang/Error هم‌زمان بگردید. بدون ثبت، همیشه در حلقهٔ «کشتم و رفتم» می‌مانید.

اشتباه‌های رایج

  • taskkill /IM با نامی که چند ابزار حیاتی را می‌گیرد.
  • کشتن winlogon/csrss و مشابه از روی کنجکاوی.
  • ریبوت به‌عنوان اولین Reflex برای هر Not Responding.
  • نادیده گرفتن درخت فرزند و تعجب از پورت اشغال.
  • Force روی دیتابیس بدون فکر به corruption احتمالی تراکنش باز.

در کار روزمره روی ویندوز موضوع force kill risk / follow-up را با Stop-Service first, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk / follow-up را با Stop-Service first, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk / follow-up را با Stop-Service first, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk / follow-up را با Stop-Service first, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk / follow-up را با Stop-Service first, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع force kill risk را با Stop-Service first بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

ریسک دیتابیس

در کار روزمره روی ویندوز موضوع remote hang / follow-up را با Hyper-V console, Stop-Process, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang / follow-up را با Hyper-V console, Stop-Process, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang / follow-up را با Hyper-V console, Stop-Process, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang / follow-up را با Hyper-V console, Stop-Process, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang / follow-up را با Hyper-V console, Stop-Process, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع remote hang را با Hyper-V console, Stop-Process بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

RDP و break-glass

در کار روزمره روی ویندوز موضوع process tree / follow-up را با Win32_Process, taskkill /T, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree / follow-up را با Win32_Process, taskkill /T, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree / follow-up را با Win32_Process, taskkill /T, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree / follow-up را با Win32_Process, taskkill /T, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree / follow-up را با Win32_Process, taskkill /T, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع process tree را با Win32_Process, taskkill /T بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

درخت فرایند

خلاصه

برای اپ هنگ‌کرده از مؤدبانه به Task Manager و سپس taskkill/Stop-Process با PID و /T بروید، سرویس را از اپ جدا کنید، پورت را بعد از قتل بررسی کنید، و ری‌استارت را برای شکست لایهٔ سیستم نگه دارید. عادت ثبت علت، تکرار را کم می‌کند.

سوالات متداول

تفاوت End task و End process tree چیست؟

درخت، فرزندان را هم می‌بندد؛ برای اپ‌های چندفرایندی معمولاً مؤثرتر است.

Responding در Get-Process چیست؟

نشان می‌دهد آیا پنجره به پیام‌های UI پاسخ می‌دهد؛ False بودن نشانهٔ Hang رابط است، نه همیشه بن‌بست کامل.

آیا taskkill خطرناک است؟

مثل هر خاتمهٔ اجباری می‌تواند دادهٔ ذخیره‌نشده را از بین ببرد. روی فرایند درست و پس از تلاش مؤدبانه استفاده کنید.

اگر Remote Desktop قفل شد؟

از ماشین دیگر یا کنسول ابری/hypervisor جلسه را مدیریت کنید؛ taskkill ریموت با مجوز مناسب هم گزینه است.

منابع و مراجع

  • taskkill — Microsoft Learn: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/taskkill
  • Stop-Process — Microsoft Learn: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/stop-process
  • Get-Process — Microsoft Learn: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process

نویسنده

سا

سهیل ابراهیم‌پور بنیان‌گذار FutureForge است. روی طراحی محصول، معماری و استقرار نرم‌افزار سفارشی کار می‌کند.

یادداشت‌های مرتبط

یادداشت‌های مرتبط

دسته‌بندی‌ها

خدمات مرتبط

از یادداشت تا پروژه

اگر موضوع این مقاله به سیستم یا محصول شما نزدیک است، می‌توانیم درباره دامنه واقعی صحبت کنیم.

اگر در انتخاب معماری یا مسیر توسعه مطمئن نیستید، می‌توانید درباره پروژه صحبت کنیم.

مسئله و محدودیت را بنویسید. اگر تطابق داشته باشیم، برای گفتگو هماهنگ می‌کنیم.

سهیل ابراهیم‌پور
یادداشت‌ها
Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه
تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload
Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار
چرا همیشه به Kubernetes نیاز ندارید؟
Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

عملیات و استقرار

Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

چرا همیشه به Kubernetes نیاز ندارید؟

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

۲۹ شهریور ۱۴۰۵
همه یادداشت‌ها219
معماری نرم‌افزار13
واژه‌نامه37
عملیات و استقرار87
مهندسی محصول74
راهنمای وب8
طراحی و ساخت محصول
توسعه فول‌استک
ممیزی مهندسی
مشاوره معماری
زیرساخت و استقرار
پروژه‌تان را مطرح کنید
ابزارهای رایگان
پروژه‌تان را مطرح کنید