پروسه زامبی (zombie process) بی پدر مادر نیست!

بعد از جلسه گروه کاربران لینوکس تبریز، روز یکشنبه که آخر جلسه دوستمون یاشار عزیز سوالی مطرح کرد که پروسه‌های زامبی چه جوری kill میشن و … یه چند روزی بود که تو تعریف و مفهوم این پروسه‌ زامبی مونده بودم و به اشتباه، این پروسه رو با پروسه orphan (یتیم) اشتباه می‌گرفتم, رفتم سراغشون و البته جادی عزیز, واقعن عالی راهنماییم کرد. من همیشه ممنونشم. حالا بریم ببینیم چی هستن این پروسه‌های زامبی و چه جوری پیداشون کنیم و …

پروسه زامبی
پروسه زامبی

پروسه زامبی در لینوکس، (zombie process)

در سیستم عامل‌های یونیکس و شبیه این, پروسه(procces) زامبی (zombie) به پروسه‌ای گفته میشه که اجراش تموم شده ولی هنوز در جدول پروسه،  ورودی داره (تو procces table هستش). به این معنی که پروسه مادر(parent) این پروسه باید وضعیت خروجی فرزند(child) رو ببینه. و این اسم زامبی (انسان هایی که هنوز کامل نمردن) به این دلیل به این پروسه‌ها تلقی میشه، چون تموم شدن ولی نتیجه تموم شدنشون هنوز به مادر نرسیده.
وقتی پروسه‌ای تموم میشه، تمام حافظه و منابعی که بهش تعلق داشته ازش گرفته میشه تا در اختیار پروسه دیگه‌ای گذاشته بشه. هر چند که process’s entry در جدول پروسه‌ها باقی میمونه. مادر میتونه وضعیت خروجی فرزند رو با اجرا کردن فراخوان wait() بخونه و در نتیجه پروسه زامبی حذف میشه. فراخوان wait() ممکنه به صورت دوره‌ای اجرا بشه ولی معمولن وقتی اجرا میشه که سیگنالی از طرف فرزند به مادر برسه (SIGchild) مبنی بر اینکه پروسه فرزند به هردلیلی دیگه اجرا نمیشه.
وقتی که پروسه زامبی حذف شد PID و entry تو جدول پروسه آزاد میشن و میتونن دوباره مورد استفاده قرار بگیرن. اگه مادر نتونه فراخوان wait رو اجرا کنه پروسه زامبی تو جدول پروسه‌ها میمونه و این تو بعضی موارد میتونه خوب باشه، مثل وقتی که مادر یه پروسه فرزند دیگه‌ای اجرا کنه و مطمئن هست که PID پروسه فرزند جدید، با قبلی یکی نیست.(PID جدید میگیره).
پروسه زامبی همان پروسه یتیم(orphan process) نیست . پروسه یتیم – بی پدر و مادر یا بی والد – پروسه‌ای هست که در حال حاضر داره اجرا میشه ولی والدش دیگه نیست, اینها پروسه زامبی نمیشن در عوض توسط (init (process ID 1 به فرزندی گرفته میشوند .

خوب وقتی تو ترمینال دستور top رو بزنیم میتونیم تو قسمت جلوی task ببینیم که چند تا پروسه زامبی داریم. یا با دستور ps aux | awk ‘{ print $8 ” ” $2 }’ | grep -w Z هم میتونیم کل پروسه‌های زامبی رو ببینیم.
برای حذف این پروسه‌ها از این دستور kill -9 PID استفاده میکنیم تا kill بشه و SIGchild به مادر برسه و اگه مادر نتونست این سیگنال رو دریافت کنه مجبور میشیم مادر رو kill کنیم تا این پروسه زامبی به فرزندی init در بیاد و init فراخوان wait رو پی در پی اجرا میکنه تا وضعیت پایان یافتن زامبی‌ها رو بگیره.

برای مثال این یه برنامه تولید کننده زامبی هست . رو سیستم‌اتون gcc رو نصب کنید و این فایل روکامپایل و بعد اجرا کنید.

کد ایجاد پروسه زامبی (zombie process)
کد ایجاد پروسه زامبی

امیدوارم همونقدر که برای من مفید بود برای شما هم مفید باشه .
مشتاق علم باشیم و همیشه خندون 🙂

سینه های متناسب

من بدن سالم و ورزشکار رو ترجیح میدم و کاری به روند مد در جامعه ندارم و همچنین اینکه شروع کنیم به خاطر علایق و مدهای در جامعه بدنمون رو دستکاری کنیم.(نظر شخصی). من از اوایل دوران راهنمایی ورزش کردن رو شروع کردم رشته هندبال رو انتخاب کردم و 4 سال با این ورزش بودم و بعد هم باشگاههای ورزشی و ایروبیک و شنا و کوه نوردی و الان صخره نوردی.

fit-body
fit-body

خیلی وقته رایج شده انواع و اقسام پروتز برای اندام های مختلف بدن برای لب و سینه و باسن و پلک و گونه و …. خوب برای زیبا تر شدن هستش احتمالن(البته ممکنه دلایل دیگه ای هم داشته باشه)و بحث زیبا شناسی میشه گفت تا اندازه ای نسبیه.به شخصه فکر میکنم اصولی برای زیبا شناسی وجود نداره.

موضوعی که میخوام راجع بهش صحبت کنم راجع به سینه خانم ها هستش. که جدای از علاقه شخصی فرد به بزرگ یا کوچک بودنشون این اندام اگه خیلی بزرگ باشه تو فعالیت های ورزشی اجازه راحت بودن رو به خانم ها نمیده و در نتیجه ادامه اون فعالیت ورزشی برای خانم ها سخت میشه و شاید ادامه ندن ورزش رو و در نتیجه ورزش نکردن دچار افزایش وزن و کاهش اعتماد به نفس میشن . و الیته در دراز مدت و رفتن تو سن های بالاتر, احتمال کمر درد و کتف درد و گردن درد هم هستش.

ادامه خواندن سینه های متناسب

فقط انجامش بده!

من ترم 3 دانشگاه بودم و به شدت علاقه داشتم که تو رشته خودم وارد یه محیط کاری بشم. و از پارکهای علمی و فناوری به شدت خوشم میومد و به دوستام میگفتم بیاین بریم تو این محیطها . حداقل بریم یه گشتی تو شرکتها بزنیم و انرژی بگیریم.
که البته دوستان منو همراهی نمیکردن. تا اینکه خودم یه روز طرفای ظهر بود رفتم پارک علم و فناوری تو خیابون ارتش بود اونموقع (الان از اونجا رفته) و یه محیط عالی و پر از کار و آدم های باهوش و خاص و نخبه به نظرم اومد,نمیدونم چرا ولی این حس رو بهم داد, با اینکه خیلی خلوت بود.
یه سالن بزرک که شرکتها با پارتیشن از هم جدا شده بودن, و اکثرشون بسته بودن! در نهایت دیدم در یه شرکت بازه و رفتم کنار در واستادم تو نیگاه اول یه شرکت کوچیک و جمع و جور که از نهایت فضاش استفاده کرده بود و فک کنم اون موقع 7 نفری اونجا بودن و سر سیستم هاشون داشتن کار میکردن.
تق تق, در رو محکم زدم تا توجهشون جلب شه چون متوجه من نشده بودن و بلند گفتم سلام. یهو همشون برگشتن طرف من ولی فقط یکیشون سلام داد(اینطور تو خاطرم مونده), آقای X (مدیر عامل شرکت بودن),
گفتم من نستله هستم ترم 3 مهندسی نرم افزار از دانشگاه پیام نور و دنبال کار میگردم و کاری بلد نیستم ولی میتونم یاد بگیرم و مجانی یه مدت براتون کار کنم تا بی حساب شیم, و ایشون با یه لبخند توام با تعجبی گفتن خوب چرا دم در بفرمایین تو بشینین. منم نشستم و سر صحبت باز شد و من بعد یک ماه شدم شاگرد آقای مهندس X تو زمینه تحلیل سیستم های تحت وب با uml.
بعد از این اولین تجربه عالی کار خیلی راحت وارد محیطهای دیگه میشدم و تو رشته های مختلف وب سرک میکشیدم و میرفتم بالا و هنوز هم باید برم بالا چون خیلی پایینم.

کار واسه کسی که بخواد کار کنه هست. من تو هفته ی اولی که تو سایت پونیشا ثبت نام کرده بودم تونستم کار بگیرم چون شدیدن پیگیر بودم و در حال حاضر هم مشتریهای خودم رو دارم و باهاشون کار میکنم و حتی تو اولین هفته ای که اومدم تو توییتر هم یه کار گرفتم پروژه ای واسه دو دفعه پشت سر هم. کلن اراده داشتن تو همه خواسته هامون خیلی مهمه.
منظور اینکه همیشه میشه یه ذره اراده و اعتماد به نفس و صداقت رو برداشت گذاشت تو کوله و رفت تو میدون و پیروز شد . حرکته مهمه.
شاد و امیدوار و موفق باشیم 🙂

ویرایشگر صوتی Audacity

گفته بودم که اومدم رو Trisquel یه توزیع عجیب و دوست داشتنی به خصوص برای حضرت استالمن . من قبلن برای کارای صوتی مثلن ضبط و … از نرم افزار Cool Edit استفاده میکردم و الان رو این توزیع از Audacit  استفاده میکنم.

Audacity
Audacity

تو لینوکس توزیع های Ubuntu , Fedora, Gentoo و SuSE رو پشتیبانی میکنه و برای منی که یکی از توزیع های ابونتو رو استفاده میکنم بسته نصبیش تو مخازن هست.
البته اینو بگم که من اولش ندیدم که تو مخزن هست و دانلودش کردم و برا نصب از من کامپایلر C++ خاست و بعدن دوباره WxWidget رو و همینجوری مشغول دانلود و نصب این و اون بودم که یکهو دیدم بعله تو مخازن هست و رفتیم apt-get و الان خوشحال از نصب و استفاده این نرم افزار عالی. و خوشحال تر از این کوچ دوباره و امید به دایمی بودنش 🙂

اینم بگم که فقط واسه لینوکس نیست و ویندوز و مک هم میتونن ورژن خودشونو از این نرم افزار نصب کنن.

نرم افزار کنترل از راه دور در لینوکس

من دارم دوباره از لینوکس ایندفعه توزیع ترایسیکل (Trisquel) بر اساس اوبونتو استفاده میکنم.

Trisquel-logo
Trisquel-logo

ادامه خواندن نرم افزار کنترل از راه دور در لینوکس

نقشه برج های مخابرات و اکسس پوینت های موزیلا

خوب موزیلا داره از برج های مخابرات و اکسس پوینت های عمومی نقشه برداری میکنه. این لینک دیتای نقشه رو ببینین.
برای همین منظور نرم افزار موبایل Moz Stumbler رو نوشتن و شما میتونین از GitHub دانلودش کنین و رو گوشیهاتون نصبش کنین. و وقتی دارین این طرف و اونطرف میرین این برنامه رو اجرا کنین و اجازه بدین اسکن کنه و بتونه نقشه موزیلا رو کامل کنه.
نقشه رو دیدین دیگه تا الان 🙂 میبینین که پوشش دیتا تو ایران کم هست.
من دانلودش کردم و معمولن در حال اسکن کردن هستش.

شماره 2 رادیو پدید (صوتی)

خوب من اخیرن تو شرکت رو به پیشرفت “پدید” مشغول فعالیتهایی تو زمینه تولید پادکست و … هستم 🙂
رادیو پدید درباره فناوری اطلاعات و رسانه های دیجیتال هستش.
اینم شماره 2 رادیومون . خوشحال میشم نظراتونو داشته باشم.

رادیو پدید شماره 2