PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : دستور برای مدیریت پردازش ها از طریق Terminal ( ابونتو ۱۱٫۱۰ )



mehraboOon
03-06-2012, 04:02 PM
۱۰ دستور برای مدیریت پردازش ها از طریق Terminal ( ابونتو ۱۱٫۱۰ )






(http://www.gooyait.com/uploads/ubuntu4.jpg)
افرادی که کمی در مورد لینوکس و توزیع های مختلف آن مطالعه کرده باشند ، بدون شک با خط فرمان بسیار قدرتمند آن تا حدودی آشنایی دارند . از طریق این محیط میتوانید به اطلاعات زیادی در مورد سیستم عامل ، برنامه ها و موارد دیگر دسترسی پیدا کنید .
یکی از این موارد ، پردازش ها یا همان Process ها میباشند . در سیستم عامل ویندوز ابزار معروفی به نام Task Manager وجود دارد که بیشتر کاربران آن را میشناسند . در توزیع ابونتو میتوانید از طریق خط فرمان به این پردازش ها دسترسی داشته باشید .
دستور top یکی از روش های قدیمی برای مشاهده پردازش هایی است که از منابع سیستم استفاده میکنند . البته این دستور پردازش هایی را نمایش میدهد که میزان زیادی از منابع سیستمی را به کار گرفته باشند . اما دستور دیگری به نام htop وجود دارد که نوع بهبود یافته و پیشرفته تر دستور top به حساب می آید . اما برای استفاده از این دستور ، ابتدا باید آن را نصب کنید . چون به صورت پیشفرض در بیشتر توذیع های لینوکسی نصب نیست .
پس از نصب میتوانید از طریق ترمینال ابونتو به مدیریت پردازش های در حال اجرا بپردازید . پس ابتدا از طریق Dash ( برای مشاهده کلید ویندوز در کیبورد خود را بفشارید ) کلمه Terminal را تایپ کرده تا آیکون آن برای شما نمایش داده شود . روی آن کلیک کنید تا محیط ترمینال باز شود . حالا دستور زیر را تایپ کرده و کلید اینتر را بزنید :
sudo apt-get install htop
اکنون باید کلمه عبور خود را وارد کنید . پس از چند ثانیه این برنامه نصب شده و آماده به کار میباشد .
اگر موافق باشید به سراغ دستورهایی برویم که بوسیله آنها میتوانید پردازش ها را مشاهده کرده و به مدیریت آنها بپردازید .

مشاهده پردازش ها با دستور ps :
دستور ps لیست پردازش های در حال اجرا را به شما نشان خواهد دارد . با تایپ دستور زیر میتوانید تمام پردازش های در حال اجرا را مشاهده کنید . به بزرگی کرکتر A توجه داشته باشید .
ps -A
http://www.gooyait.com/uploads/1494-600x348.png

اگر میخواهید کل لیست به یکباره نمایش داده نشود ، کافیست دستور را به شکل زیر تایپ کنید :
ps -A | less
با تایپ دستور بالا ، ترمینال دارای اسکرول بار نخواهد شد و پس از به اتمام رسیدن ظرفیت نمایش ترمینال ، باید برای دیدن پردازش های بعدی ، کلید اینتر را بفشارید تا پردازش ها ، یک به یک نمایش داده شوند . اگر قصد داشتید که از لیست خارج شوید ، کافیست کلید “q” را از صفحه کلید بفشارید .

البته شما میتوانید لیست پردازش های مربوط به یک برنامه خاص را نیز مشاهده کنید . در واقع این امکان برای شما وجود دارد که پردازش ها را فیلتر کنید و به موراد مورد نظرتان دست یابید . به عنوان مثال میخواهیم به لیست پردازش های مربوط به فایرفاکس دسترسی پیدا کنیم . دستور زیر را تایپ کنید :
ps -A | grep firefox
http://www.gooyait.com/uploads/2365-600x348.png

همانطور که در تصویر بالا مشاهده میکنید ، پردازش مربوط به مرورگر فایرفاکس ظاهر شد .

نمایش درختی پردازش های جاری با استفاده از دستور pstree :
در بیشتر مواقع اگر یک لیست به صورت درختی نمایش داده شود ، میتوان دید بهتری نسبت به آن داشت و رابطه بین آیتم ها را بهتر فهمید . با استفاده از دستور pstree میتواند نحوه نمایش لیست پردازش ها را به صورت درختی تعیین کنید .
http://www.gooyait.com/uploads/3302-600x348.png

از کار انداختن یک پردازش با استفاده از دستور kill :
دستور Kill همانطور که از نامش پیداست میتواند یک پردازش را از کار بیندازد و یا به اصطلاح بکشد :D . این دستور با استفاده از کد مربوط به هر پردازش ، هدف خود را شناسایی کرده و آن را از بین میبرد . به عنوان مثال میخواهیم پردازش مربوط به مرورگر فایرفاکس را با این دستور از کار بیندازیم . ابتدا باید پردازش مربوط به فایرفاکس را پیدا کرده و کد مربوط به آن را بدست بیاوریم . اگر یادتان باشد در ابتدا مطلب دستوری را به شما نشان دادیم که با استفاده از آن میتوانستید پردازش مربوط به یک برنامه را از بین همه پردازش ها جداسازی کنید .
ps -A | grep firefox
کدی که در اولین ستون از سمت چپ نوشته شده است ، کد مربوط به پردازش فایرفاکس میباشد . پس این کد را مقابل دستور kill بنویسید . به عنوان مثال :
kill 3684
http://www.gooyait.com/uploads/4266-600x348.png

البته برخی پردازش ها خیلی سرسخت بوده و به راحتی از کار نمی افتند . اما برای این مورد هم چاره ای اندیشیده شده است . شما میتوانید به جای استفاده از دستور kill ، از دستور kill -KiLL و یا kill -9 استفاده کنید . به عنوان مثال میخواهیم پردازشی با کد ۱۵۱۶۸ را که در برابر حذف شدن مقاومت میکند را از کار بیندازیم . میتوانید با دستورات زیر این پردازش را حذف کنید :
kill -KILL 15168
kill -9 15168

پیدا کردن PID ( کد ) پردازش ها با استفاده از دستور pgrep
این دستور نیز برای پیدا کردن PID یا به همان کد پردازش هاست . به عنوان مثال برای پیدا کردن کد پردازش فایرفاکس کافیست دستور زیر را تایپ کنید :
pgrep firefox
http://www.gooyait.com/uploads/5243-600x348.png

همانطور که مشاهده میکنید در خط بعدی کد پردازش فایرفاکس ظاهر شده است . اما میتوانید این دستور را به صورت ترکیبی نیز به کار ببرید . بگذارید با یک مثال این مورد به شما توضیح دهیم تا درک بهتری از آن داشته باشید .
مانند مثال قبلی میخواهیم پردازش مربوط به فایرفاکس را حذف کنیم . برای اینکه زحمت پیدا کردن کد پردازش فایرفاکس را از دوش خود بردارید ، میتوانید دستور pgrep را با دستور kill ترکیب کنید . به دستور زیر توجه کنید :
kill $(pgrep firefox)
خیلی ساده است . کد مربوط به پردازش فایرفاکس با استفاده از دستور pgrep firefox به صورت اتوماتیک مقابل دستور kill قرار میگیرد .
لازم به ذکر است که دستور pgrep را میتوانید با دستورات kill -KILL و kill -9 برای حذف پردازش های سرسخت نیز ترکیب کنید .

حذف پردازش ها با استفاده از نام آنها از طریق دستورات pkill و killall :
اگر میخواهید با استفاده از نام پردازش ها اقدام به حذف آنها کنید ، تنها کافیست از دستورات pkill و killall استفاده کنید . به عنوان مثال :
pkill firefox
killall firefox
http://www.gooyait.com/uploads/6202-600x348.png

تعیین اولویت برای پردازش ها با دستور renice :
گاهی اوقات نیاز میشود تا اولویت یک پردازش را بالاتر ببریم تا پردازنده با اولویت بالاتری به آن رسیدگی کند . از این رو میتوانید از دستور renice کمک بگیرید . این دستور مقداری بین -۱۹ و +۱۹ را به عنوان ورودی دریافت میکند . -۱۹ بیشترین اولویت و +۱۹ کمترین اولویت را به یک پردازش خواهد داد . مقدار ۰ نیز اولویت معمولی را به یک پردازش میدهد . هر پردازش از ابتدا که ایجاد میشود ، مقدار ۰ را به عنوان مقدار پیشفرض دارد .
اما روش استفاده از این دستور نیز مانند دستور kill بر اساس PID یا همان کد مربوط به پردازش است . به عنوان مثال میخواهیم به پردازش مربوط به فایرفاکس که با کد ۳۸۶۸ مشخص شده است ، کمترین اولویت را بدهیم . پس به شکل زیر عمل میکنیم .
renice 19 3868
البته میتوانید از ترکیب این دستور با دستور pgrep برای راحتی کار پیدا کردن کد پردازش مورد نظرتان استفاده کنید .
renice 19 $(pgrep firefox)
http://www.gooyait.com/uploads/7183-600x348.png

البته باید توجه داشته باشید که برای دادن بیشتر اولویت به یک پردازش باید مجوز ریشه ( root ) داشته باشید . بنابراین باید قبل از تایپ دستور به صورت بالا ، عبارت sudo را اضافه کنید . مانند دستور زیر :
sudo renice -19 3868
پس از اجرای دستور بالا از شما درخواست پسورد میشود که باید آن را وارد کنید .

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






گویاآی تی