FutureForgeFutureForge

خدمات FutureForge

  • طراحی و ساخت محصولاز شناخت نیاز تا انتشار محصول، یک مسیر روشن پیش رو دارید.
  • توسعه فول‌استکوب‌اپلیکیشن، API و داده را هماهنگ و یکپارچه توسعه دهید.
  • ممیزی مهندسیپیش از هزینه‌ی بیشتر، از وضعیت واقعی محصول‌تان باخبر شوید.
  • مشاوره معماریپیش از یک تصمیم فنی پرهزینه، گزینه‌ها را درست بسنجید.
  • زیرساخت و استقرارمحصول را با خیال راحت منتشر کنید و پایدار نگه دارید.
  • هوش مصنوعی در محصولهوش مصنوعی را فقط جایی به کار می‌گیریم که مسئله‌ای را حل کند.
نمونه‌کارهایادداشت‌هاقیمت‌گذاریدرباره ما
شروع گفتگو
  1. خانه
  2. /یادداشت‌ها
  3. /یادداشت‌ها
FutureForge

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

خدمات

طراحی سایت با وردپرستوسعه اختصاصیمهندسی محصولزیرساخت و استقرارمشاوره معماریهوش مصنوعی در محصول

راهنمای انتخاب

یادداشت‌هاقیمت‌گذاریتخمین هزینه پروژهمقایسه روش‌هانمونه‌کارهادرباره ماتماس

ارتباط

hello@futureforge.ir

ایده‌ای برای ساخت دارید؟

نیازتان را مطرح کنید تا درباره مسیر توسعه و قدم بعدی صحبت کنیم.

شروع گفتگو

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

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

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

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

ترتیب ایمن برای بستن اپ Not Responding: Task Manager، taskkill، 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 است. روی طراحی محصول، معماری و استقرار نرم‌افزار سفارشی کار می‌کند.

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

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

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

خدمات مرتبط

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

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

برای انتخاب مسیر فنی پروژه‌تان کمک می‌خواهید؟

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

سهیل ابراهیم‌پور
یادداشت‌ها
امنیت n8n: اعتبارنامه، وب‌هوک و SSRF
نصب n8n روی سرور با Docker Compose
n8n چیست و چگونه کار می‌کند؟
امنیت فروشگاه اینترنتی: سایت، درگاه و فرایند عملیاتی
بازیابی سرور لینوکس بعد از خرابی دیسک یا استقرار اشتباه

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

امنیت n8n: اعتبارنامه، وب‌هوک و SSRF

۹ آبان ۱۴۰۵

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

نصب n8n روی سرور با Docker Compose

۸ آبان ۱۴۰۵

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

n8n چیست و چگونه کار می‌کند؟

۸ آبان ۱۴۰۵

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

امنیت فروشگاه اینترنتی: سایت، درگاه و فرایند عملیاتی

۶ آبان ۱۴۰۵

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

بازیابی سرور لینوکس بعد از خرابی دیسک یا استقرار اشتباه

۲ آبان ۱۴۰۵
همه یادداشت‌ها315
معماری نرم‌افزار31
واژه‌نامه37
عملیات و استقرار94
مهندسی محصول122
راهنمای وب31
طراحی و ساخت محصول
توسعه فول‌استک
ممیزی مهندسی
مشاوره معماری
زیرساخت و استقرار
شروع گفتگو
ابزارهای رایگان
شروع گفتگو