سقوط- آلبر کامو

دیشب گفتم، بریم بیرون یه هوایی به سرم بخوره یه ذره به اصطلاح رفرش شیم. گفتم خوب چه بهتر هست که بریم کتابفروشی. یه کتابفروشی خوبی تقریبن نزدیک خونه هست به اسم شهر کتاب. اتفاقن دو تا کتاب خوب هم خریدیم. یکیش کتاب سقوط از نویسنده فرانسوی آلبر کامو.

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

LaChute - Alber Camus

LaChute

کتاب خیلی عجیبی هستش در مورد یه وکیل که شروع میکنه از خوشبخت بودن خودش با یه نفر صحبت میکنه و اون یه نفر همون خواننده هست (مخاطب نویسنده همون خواننده هستش) در مورد اینکه چه انسان عالی ای بوده و چقدر احساس خوشبختی و خوب بودن رو داشته تا اینکه یه اتفاقی می افته و بعد اون شروع میکنه خودش رو کنکاش کردن و دلیل کارهاش رو آوردن به اصطلاح خودش رو داوری میکنه، و تو خلال کتاب، اینکه این نقطه عطفش کی براش پیش میاد رو سعی میکنه عقب بندازه ولی اینطور نیست که برگردیم بگیم: خوب بسته تمومش کن برو سر اصل قضیه، اصلن اینطور نیست به طرز عجیبی درگیر میکنه آدم رو و در مورد من که میخوندم و میگفتم عجب، درست میگه . میدونین نویسنده، در حالی که داره این شخصیت عالی ،ژان باتیست (اسم مستعار وکیل) رو به زیر سوال میبره(مورد قضاوت قرار میده)آدم متوجه میشه که این یه چیزی بیشتر از زان باتیست هست و اون یک انسان هست که داره به چالاش کشیده میشه اینکه کی سقوط میکنه.
خوندن این کتاب نیاز به تمرکز داره، این نظر من هست و البته با اینکه کم حجم هست ولی پر محتوی هستش و من که بعضی جاهاش رو دو سه بار میخوندم.
اینم جناب آلبر کامو

AlberCamus-آلبر کامو

AlberCamus آلبر کامو

این هم جناب خودم دیشب تو کتابفروشی(شهر کتاب)

کتابفروشی شهر کتاب

کتابفروشی شهر کتاب

تیک تاک (صوتی)

خوب این جمعه هم داستان کوتاه تیک تاک، دوباره از کتاب دوست داشتم کسی جایی منتظرم باشد ، نویسنده آنا گاوالدا و ترجمه الهام دارچینیان و گوینده خودم .

میدونم تند تند خوندم،  دارم سعی ام رو میکنم واقعن.

دانلود نسخه ogg

پروسه زامبی (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)

کد ایجاد پروسه زامبی

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