ساخت میانبر برای System monitorدر Dash بنویسید Keyboard یا میتونید Shortcut هم بنویسید.بعد روی Keyboard کلیک کنید و بعد قسمت Shortcuts بروید و از لیست Custom Shortcuts رو انتخاب کنید.با زدن دکمه + در قسمت Name بنویسید System Monitor و در قسمت Command هم مقدار زیر رو قرار بدید.
/usr/bin/gnome-system-monitor
بعدش بر روی اون کلیک کنید و با زدن دکمه دلخواه یک کلید میانبر ترکیبی برای اجرای System Monitor بسازید.(من خودم Control+Shift+Escape رو انتخاب کردم.مثل ویندوز)بعدش هر وقت یک برنامه خاص کند شد یا در بن بست افتاد یا در حلقه بی نهایت افتاد میتونید خیلی زودتر از لینوکس اون رو بکشید.لینوکس شاید بتونه اون رو Force Close کنه ولی نه به اون سرعتی که شما میتونید این کار رو انجام بدید.چون اولا شما باهوش ترید.و دوما اختیار پردازنده دست برنامه ای هستش که در حلقه بی نهایت افتاده است و سیستم عامل شانس گرفتن پردازنده را نداره و یا شانسش برای گرفتن پردازنده کم شده.
هنگ یا کرش چیه؟
اصطلاحا میگن این برنامه هنگ کرده و درست تر اینه که بگیم برنامه در حلقه یا LOOP بدون حد بالای مشخص افتاده است.منظور از اینکه حد بالا مشخص نیست این است که برنامه یا فرایند ممکنه یک دقیقه یا ۱۰ دقیقه یا ۱ ساعت یا یک روز یا یک سال یا تا ابد در حلقه یا Loopبماند.اگر برنامه شماکشته شود اطلاعاتتون رو از دست میدید. بهترین راه حل صبر کردن و دعا کردن است.
اما اگر صبر به خرج دادید .و کاسه صبرتون لبریز شد
باید دست به کار شید و برنامه (فرآیند یا Process) ای که اختیار پردازنده رو در دست گرفته و پردازنده رو پس نمیده و CPU هم مثل گاو به حرف اون فرآیند گوش میده رو باید کشت.برای کشتن هم کار خیلی ساده است.از زبانه Process باید فرآیند پر رو و خاطی رو کشت.برای کشتن کلیک راست و Kill process.
گاهی هم بار سیستم زیاده و سیستم کند شده.بهترین راه حل قربانی کردن فرآیندی است که مصرف پردازنده بالایی دارد.
اما زمانی که خود سیستم عامل فرآیند خاطی یا پر مصرف شده.یعنی اوضاع خیلی وخیم و بحرانی است و با کشتن یک یا چند فرآیند اوضاع درست و آرام نمیشود و همچنان سیستم به طور محسوس کند است.(به اصطلاح سیستم completely frozen است) باید خود سیستم عامل رو بکشیم.و طبیعتا با کشتن سیستم عامل همه فرآیند ها هم قربانی میشوند چون با کشتن فرآیند پدر فرآیندهای فرزند که یتیم شده اند با بی رحمی کشته میشوند.برای کشتن فرآیندهای پدر و فرزند و یتیم و ... باید از کلید ترکیبی ALT+Print Screen System Request+K رو فشار بدید تا کل فرآیند ها و سیستم عامل کشته بشه و با این کار سیستم شما Log Out میشه.به Print Screen System Request به اختصار Prt Sc SysRq میگویند.و همون دکمه ای هستش که با اون از دسکتاپ کامپیوتر عکس میگیرد.حرف K هم حرف اول Kill All process هستش.این کلید سیستم من رو خیلی سریع Log out کرد.و همه پروسس ها رو کشت.
دوستان Ctrl+Alt+F1 هم برای رفتن به محیط متنی است.و اونجا هم بار سیستم کمتره و دست شما باز تره.در اونجا میتونید با نوشتن دستورات زیر فرآیند مورد نظر رو بکشید:
killall fifrefox
یا
pkill firefox
که شکل کلی دستورات به صورت زیر است :
pkill -TERM program_name
killall program_name
نمایش فرآیند ها در محیط متنیدستور top یکی از روش های قدیمی برای مشاهده پردازش هایی است که از منابع سیستم استفاده میکنند . البته این دستور پردازش هایی را نمایش میدهد که میزان زیادی از منابع سیستمی را به کار گرفته باشند . اما دستور دیگری به نام htop وجود دارد که نوع بهبود یافته و پیشرفته تر دستور top به حساب می آید . اما برای استفاده از این دستور ، ابتدا باید آن را نصب کنید . چون به صورت پیشفرض در بیشتر توذیع های لینوکسی نصب نیست .اگر قصد داشتید که از لیست خارج شوید ، کافیست کلید “q” را از صفحه کلید بفشارید .
با
sudo apt-get install htop
به راحتی نصب میشود.
مشاهده پردازش ها با دستور ps : دستور ps لیست پردازش های در حال اجرا را به شما نشان خواهد دارد . با تایپ دستور زیر میتوانید تمام پردازش های در حال اجرا را مشاهده کنید . به بزرگی کاراکتر A توجه داشته باشید .
ps -A
اگر میخواهید کل لیست به یکباره نمایش داده نشود ، کافیست دستور را به شکل زیر تایپ کنید :
ps -A | less
با تایپ دستور بالا ، ترمینال دارای اسکرول بار نخواهد شد و پس از به اتمام رسیدن ظرفیت نمایش ترمینال ، باید برای دیدن پردازش های بعدی ، کلید اینتر را بفشارید تا پردازش ها ، یک به یک نمایش داده شوند . اگر قصد داشتید که از لیست خارج شوید ، کافیست کلید “q” را از صفحه کلید بفشارید .
نمایش درختی پردازش های جاری با استفاده از دستور pstree :
در بیشتر مواقع اگر یک لیست به صورت درختی نمایش داده شود ، میتوان دید بهتری نسبت به آن داشت و رابطه بین آیتم ها را بهتر فهمید . با استفاده از دستور pstree میتواند نحوه نمایش لیست پردازش ها را به صورت درختی تعیین کنید .
کشتن فرآیندها دستور Kill همانطور که از نامش پیداست میتواند یک پردازش را از کار بیندازد و یا به اصطلاح بکشد
. این دستور با استفاده از کد مربوط به هر پردازش ، هدف خود را شناسایی کرده و آن را از بین میبرد . به عنوان مثال میخواهیم پردازش مربوط به مرورگر فایرفاکس را با این دستور از کار بیندازیم . ابتدا باید پردازش مربوط به فایرفاکس را پیدا کرده و کد مربوط به آن را بدست بیاوریم . اگر یادتان باشد در ابتدا مطلب دستوری را به شما نشان دادیم که با استفاده از آن میتوانستید پردازش مربوط به یک برنامه را از بین همه پردازش ها جداسازی کنید .
ps -A | grep firefox
کدی که در اولین ستون از سمت چپ نوشته شده است ، کد مربوط به پردازش فایرفاکس میباشد . پس این کد را مقابل دستور kill بنویسید . به عنوان مثال :
kill 3684
البته برخی پردازش ها خیلی سرسخت بوده و به راحتی از کار نمی افتند . اما برای این مورد هم چاره ای اندیشیده شده است . شما میتوانید به جای استفاده از دستور kill ، از دستور kill -KiLL و یا kill -9 استفاده کنید . به عنوان مثال میخواهیم پردازشی با کد ۱۵۱۶۸ را که در برابر حذف شدن مقاومت میکند را از کار بیندازیم . میتوانید با دستورات زیر این پردازش را حذف کنید :
kill -KILL 15168
kill -9 15168
برای اینکه زحمت پیدا کردن کد پردازش فایرفاکس را از دوش خود بردارید ، میتوانید دستور pgrep را با دستور kill ترکیب کنید . به دستور زیر توجه کنید :
kill $(pgrep firefox)
اگر هم فرآیند سرسخت بود و بسته نشد میتونید دستور رو به این شکل بنویسید:
kill -kill $(pgrep firefox)
حذف پردازش ها با استفاده از نام آنها از طریق دستورات pkill و killall :اگر میخواهید با استفاده از نام پردازش ها اقدام به حذف آنها کنید ، تنها کافیست از دستورات pkill و killall استفاده کنید .که در بالا هم به آن اشاره شد. به عنوان مثال :
pkill firefox
killall firefox
تعیین اولویت برای پردازش ها با دستور renice :گاهی اوقات نیاز میشود تا اولویت یک پردازش را بالاتر ببریم تا پردازنده با اولویت بالاتری به آن رسیدگی کند . از این رو میتوانید از دستور renice کمک بگیرید . این دستور مقداری بین -۱۹ و +۱۹ را به عنوان ورودی دریافت میکند . -۱۹ بیشترین اولویت و +۱۹ کمترین اولویت را به یک پردازش خواهد داد . مقدار ۰ نیز اولویت معمولی را به یک پردازش میدهد . هر پردازش از ابتدا که ایجاد میشود ، مقدار ۰ را به عنوان مقدار پیشفرض دارد .
اما روش استفاده از این دستور نیز مانند دستور kill بر اساس PID یا همان کد مربوط به پردازش است . به عنوان مثال میخواهیم به پردازش مربوط به فایرفاکس که با کد ۳۸۶۸ مشخص شده است ، کمترین اولویت را بدهیم . پس به شکل زیر عمل میکنیم .
renice 19 3868
البته میتوانید از ترکیب این دستور با دستور pgrep برای راحتی کار پیدا کردن کد پردازش مورد نظرتان استفاده کنید .
renice 19 $(pgrep firefox)
البته باید توجه داشته باشید که برای دادن بیشتر اولویت به یک پردازش باید مجوز ریشه ( root ) داشته باشید . بنابراین باید قبل از تایپ دستور به صورت بالا ، عبارت sudo را اضافه کنید . مانند دستور زیر :
sudo renice -19 3868
پس از اجرای دستور بالا از شما درخواست پسورد میشود که باید آن را وارد کنید .
برنامه های هنگ کرده را با دستور xkill ببندید :گاهی اوقات پیش می آید که برخی برنامه ها هنگ کرده و هرچه روی دکمه close بالا پنجره کلیک میکنیم ، برنامه مورد نظر بسته نمیشود . اگر میخواهید یک راه حل ساده و سریع را برای بستن برنامه مورد نظر تجربه کنید ، کافیست دستور xkill را در ترمینال تایپ کنید . اکنون کرسر موس به شکل یک ضربدر شده است و با آن روی هر پنجره ای کلیک کنید ، بلافاصله بسته خواهد شد . البته به منظور انصراف از این دستور میتوانید روی پنجره مورد نظر راست کلیک کنید .
بازگشت به محیط گرافیکیالبته سیستم من از Ctrl+Alt+F2 تا Ctrl+Alt+F6 هم به محیط متنی(terminal) میره.ولی با Ctrl+Alt+F7 میتونید به محیط گرافیکی برگردید.
زدن تیر خلاص به لینوکساما اگر پردازنده به هیچ وقفه ای پاسخ نداد.مثلا موس حرکت نکرد کیبرد کار نکرد.کمی صبر کنید شاید بعد از مدتی به وقفه های شما با تاخیر جواب داد.ولی اگر به هر نوع وقفه ای حتی با تاخیر زیاد واکنش نشون نداد.چاره ای جز Restart کردن و استفاده از دکمه سخت افزاری یا قطع برق ندارید.یا میتونید از دکمه ترکیبی ALT+Print Screen System Request+b برای re
boot استفاده کنید. و این کار جالب نیست و ممکنه به اطلاعات روی هارد شما آسیب برسه و کلا پیشنهاد نمیشه.مگر اینکه واقعا مجبور باشید.
ولی اوبونتو به نسبت ویندوز کمتر دچار این وضعیت میشه.البته به نظر من در نگاه اولیه.چون من تازه کارم و تجربه زیادی در اوبونتو ندارم.ولی این حرف که اوبونتو اصلا هنگ نمیکنه خیلی فنی و دقیق نیست.بخشی از کرش کردن ها مربوط به سخت افزار و پردازنده است که اصلا ربطی به سیستم عامل نداره.
کلید های ترکیبی دیگردکمه های ترکیبی دیگه به صورت زیر هستش که من تجربه استفاده از اون ها رو ندارم:
r – Puts the keyboard into raw mode, taking control of it away from the X server.
e – Sends the terminate signal to all processes, asking them to end gracefully.
i – Sends the kill signal to all processes, forcing them to end immediately.
s – Flushes data from your cache to disk.
u – Remounts all file systems read-only.
n – Resets the nice level (priority) of all high and realtime priority processes.
f – Calls oom_kill, which will kill a memory-hogging process.
o – Shuts off the computer.
دوستان با تجربه تر که از ترکیب Alt + SysRq با حرف های بالا استفاده کرده اند و تجربه استفاده از آن را دارند تجربه خودشون رو به زبون ساده اینجا بنویسن.