تجربه ام با Trisquel و Mint

تو این پست میخوام تجربه ام با Trisquel و Mint رو بنویسم … این مطالب تجربه شخصی هستش و مسلمن احتمال اینکه نظرم به نظرتون نزدیک نباشه زیاده 🙂

Trisquel-Mint
Trisquel-Mint

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

اینگونه شد که اومدم رو Mint ظاهر خوبی داشت ، محیطش نسبت به Trisquel کاربرد پذیرتر بود ولی با سخت افزار من سر ناسازگاری برداشت، محیط گرافیک پیش فرض این توزیع Cinnamon هستش ولی از همون دقیقه های اول بعد نصب سیستمم شروع کرد به هنگ کردن و بعد صفحه برفکی و بعد من مجبور به ریست میشدم … هنگ کردن هایش هم اینجوری بود، مثلن میرفتم تو یه تب مرورگر و بعد میخواستم برم تب دیگه ، که سیستم هنگ میکرد . از این ور اونور پرسیدم و یکی از دوستانم هم این مشکل رو داشت و میگفت این محیط گرافیکی با کارت گرافیک nvidia مشکل داره و باید محیط گرافیکی رو عوض کنی و ….

و من هم گفتم صبر میکنیم تا ubuntu 14.04 بیاد که دیگه زمانشه و فردا یعنی 17 آوریل میاد و میریم برا نصب …

آزاد و لینوکسی باشین 🙂

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

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

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

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

Audacity
Audacity

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

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

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

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

Trisquel-logo
Trisquel-logo

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