فرایند زامبی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز ویرایش Nadergharibianfard (بحث) به آخرین تغییری که Fatemehnajafi انجام داده بود واگردانده شد
برچسب: واگردانی
Nadergharibianfard (بحث | مشارکت‌ها)
جزبدون خلاصۀ ویرایش
خط ۱:
{{ویکی‌سازی|تاریخ=سپتامبر ۲۰۱۶}}
در [[سیستم‌عامل]] های [[یونیکس]] و مانند آن، '''پروسه زامبی''' یا '''[[فرایند توسعه نرم‌افزار|فرایند]] زامبی''' {{انگلیسی|Zombie process}} به [[فرایند (رایانه)|پروسه‌ای]] گفته می‌شود که اجرای آن تمام شده است، ولی هنوز در جدول پروسه (process table) ورودی دارد. به این معنی که پروسه مادرش (parent) منتظر است که وضعیت خروجی فرزند(child) را ببیند. این اسم [[زامبی]] (انسان‌هایی که هنوز کامل نمردند) به این دلیل به این پروسه‌ها تلقی می‌شود، چون به پایان رسیده‌اند، ولی نتیجه اتمام آنها هنوز به مادر نرسیده است.
 
وقتی پروسه‌ای تمام می‌شود، تمام حافظه و منابعی که به آن تعلق داشته از آن گرفته می‌شود تا در اختیار پروسه دیگری گذاشته شود. هر چند که process’s entry در جدول پروسه‌ها باقی می‌ماند. مادر می‌تواند وضعیت خروجی فرزند را با اجرا کردن فراخوان wait() بخواند، و در نتیجه پروسه زامبی حذف می‌شود. فراخوان wait() ممکن است به صورت دوره‌ای اجرا شود، ولی معمولاً وقتی اجرا می‌شود که [[سیگنال|سیگنالی]] از طرف فرزند به مادر برسد (SIGchild) مبنی بر اینکه پروسه فرزند به هردلیلی دیگر اجرا نمی‌شود.