10 دستور برای مدیریت پردازش ها از طریق Terminal ( ابونتو 11.10 )

10 دستور برای مدیریت پردازش ها از طریق Terminal ( ابونتو 11.10 )
  • 1390/12/15
  • علیرضا
  • 5

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

یکی از این موارد ، پردازش ها یا همان Process ها میباشند . در سیستم عامل ویندوز ابزار معروفی به نام Task Manager وجود دارد که بیشتر کاربران آن را میشناسند . در توزیع ابونتو میتوانید از طریق خط فرمان به این پردازش ها دسترسی داشته باشید .

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

پس از نصب میتوانید از طریق ترمینال ابونتو به مدیریت پردازش های در حال اجرا بپردازید . پس ابتدا از طریق Dash ( برای مشاهده کلید ویندوز در کیبورد خود را بفشارید ) کلمه Terminal را تایپ کرده تا آیکون آن برای شما نمایش داده شود . روی آن کلیک کنید تا محیط ترمینال باز شود . حالا دستور زیر را تایپ کرده و کلید اینتر را بزنید :

sudo apt-get install htop

اکنون باید کلمه عبور خود را وارد کنید . پس از چند ثانیه این برنامه نصب شده و آماده به کار میباشد .

اگر موافق باشید به سراغ دستورهایی برویم که بوسیله آنها میتوانید پردازش ها را مشاهده کرده و به مدیریت آنها بپردازید .

 

مشاهده پردازش ها با دستور ps : 

دستور ps لیست پردازش های در حال اجرا را به شما نشان خواهد دارد . با تایپ دستور زیر میتوانید تمام پردازش های در حال اجرا را مشاهده کنید . به بزرگی کرکتر A توجه داشته باشید .

ps -A


اگر میخواهید کل لیست به یکباره نمایش داده نشود ، کافیست دستور را به شکل زیر تایپ کنید :

ps -A | less

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

 

البته شما میتوانید لیست پردازش های مربوط به یک برنامه خاص را نیز مشاهده کنید . در واقع این امکان برای شما وجود دارد که پردازش ها را فیلتر کنید و به موراد مورد نظرتان دست یابید . به عنوان مثال میخواهیم به لیست پردازش های مربوط به فایرفاکس دسترسی پیدا کنیم . دستور زیر را تایپ کنید :

ps -A | grep firefox


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

 

نمایش درختی پردازش های جاری با استفاده از دستور pstree :

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


از کار انداختن یک پردازش با استفاده از دستور kill :

 دستور Kill همانطور که از نامش پیداست میتواند یک پردازش را از کار بیندازد و یا به اصطلاح بکشد :D . این دستور با استفاده از کد مربوط به هر پردازش ، هدف خود را شناسایی کرده و آن را از بین میبرد . به عنوان مثال میخواهیم پردازش مربوط به مرورگر فایرفاکس را با این دستور از کار بیندازیم . ابتدا باید پردازش مربوط به فایرفاکس را پیدا کرده و کد مربوط به آن را بدست بیاوریم . اگر یادتان باشد در ابتدا مطلب دستوری را به شما نشان دادیم که با استفاده از آن میتوانستید پردازش مربوط به یک برنامه را از بین همه پردازش ها جداسازی کنید .

ps -A | grep firefox

کدی که در اولین ستون از سمت چپ نوشته شده است ، کد مربوط به پردازش فایرفاکس میباشد . پس این کد را مقابل دستور kill بنویسید . به عنوان مثال :

kill 3684


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

kill -KILL 15168

kill -9 15168

 

پیدا کردن PID ( کد ) پردازش ها با استفاده از دستور pgrep

این دستور نیز برای پیدا کردن PID یا به همان کد پردازش هاست . به عنوان مثال برای پیدا کردن کد پردازش فایرفاکس کافیست دستور زیر را تایپ کنید :

pgrep firefox


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

مانند مثال قبلی میخواهیم پردازش مربوط به فایرفاکس را حذف کنیم . برای اینکه زحمت پیدا کردن کد پردازش فایرفاکس را از دوش خود بردارید ، میتوانید دستور pgrep را با دستور kill ترکیب کنید . به دستور زیر توجه کنید :

kill $(pgrep firefox)

خیلی ساده است . کد مربوط به پردازش فایرفاکس با استفاده از دستور pgrep firefox به صورت اتوماتیک مقابل دستور kill قرار میگیرد .

لازم به ذکر است که دستور pgrep را میتوانید با دستورات kill -KILL و kill -9 برای حذف پردازش های سرسخت نیز ترکیب کنید .

 

حذف پردازش ها با استفاده از نام آنها از طریق دستورات pkill و killall :

اگر میخواهید با استفاده از نام پردازش ها اقدام به حذف آنها کنید ، تنها کافیست از دستورات pkill و killall استفاده کنید . به عنوان مثال :

pkill firefox

killall firefox


تعیین اولویت برای پردازش ها با دستور renice :

گاهی اوقات نیاز میشود تا اولویت یک پردازش را بالاتر ببریم تا پردازنده با اولویت بالاتری به آن رسیدگی کند . از این رو میتوانید از دستور renice کمک بگیرید . این دستور مقداری بین -19 و +19 را به عنوان ورودی دریافت میکند . -19 بیشترین اولویت و +19 کمترین اولویت را به یک پردازش خواهد داد . مقدار 0 نیز اولویت معمولی را به یک پردازش میدهد . هر پردازش از ابتدا که ایجاد میشود ، مقدار 0 را به عنوان مقدار پیشفرض دارد .

اما روش استفاده از این دستور نیز مانند دستور kill بر اساس PID یا همان کد مربوط به پردازش است . به عنوان مثال میخواهیم به پردازش مربوط به فایرفاکس که با کد 3868 مشخص شده است ، کمترین اولویت را بدهیم . پس به شکل زیر عمل میکنیم .

renice 19 3868

البته میتوانید از ترکیب این دستور با دستور pgrep برای راحتی کار پیدا کردن کد پردازش مورد نظرتان استفاده کنید .

renice 19 $(pgrep firefox)


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

sudo renice -19 3868

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

 

برنامه های هنگ کرده را با دستور xkill ببندید :

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

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 5 دیدگاه
  1. مطلب خیلی خوبیه ممنون.
    فقط این که عنوانش فکر کنم باید : باشد.
    10 دستور برای مدیریت پروسس ها از طریق Terminal ( ابونتو ۱۱٫۱۰ )

    1. سلام علی جان .
      خواهش میکنم .
      البته این عنوانی هم که بنده گذاشتم با اون چیزی که شما فرمودین فرقی نداره . بنده پارسیش رو نوشتم . 😀 .
      در هر صورت پارسی را پاس بداریم 😉

      موفق باشی …….

    1. سلام .
      بستگی به نیازتون داره . مسلما ابونتو برای تازه کارها ( مثل بنده ) راحت تره .

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *