مدیریت پروسس ها (process) یکی از جنبه های مهم در سیستم های لینوکس می باشد و در حقیقت شامل خاتمه دادن به process ها با استفاده از دستور kill می باشد.
در این پست نحوه ی kill کردن پروسس های کم کاربرد و یا ناخواسته را روی سیستم عامل لینوکس شرح خواهیم داد.
یک process در لینوکس چیست؟
یک پروسس در حقیقت می تواند یک جریان در حال کار از یک اپلیکیشن و یا برنامه باشد. همچنین میتوان از آنها بعنوان تسک های در حال اجرا در سیستم عامل تعبیر کرد.
زمانی که یک پروسه در حال اجرا است وسیستم عامل از حالتی به حالت دیگر تغییر میکند در حقیقت آن پروسس میتواند به یکی از حالت های زیر دربیاید :
runnig :
به این معنی که همچنان پروسس در حال اجراست و یا اینکه به نحوی تنظیم شده که فقط اجرا شود .
waiting :
به این معنی که پروسس منتظر یک event یا انجام یک تسک توسط یکی از ریسورسهای سیستم است .
دو نوع پروسس waiting در لینوکس داریم: interruptible (قابل قطع و منحل شدن) و uninterruptible
(غیر قابل قطع و منحل شدن)
پروسس waiting ی که را که بتوان توسط signal ها منحل کرد interruptible می نامیم در حالی که پروسسی که مستقیما روی شرایط سخت افزاری pause شده و نمی توان آنرا تحت هیچ شرایطی قطع کرد uninterruptable می نامیم.
stopped :
به این معنی که پروسس توسط یه سیگنال متوقف شده است.
zombie :
به این معنی که پروسس ناگهان متوقف شده و در اصطلاح مرده تلقی میشود.
اکنون بعد از مرور کلی روی پروسس ها به شیوه ی kill کردن آنها در لینوکس می پردازیم.
البته برای kill کردن پروسس ها دستورات دیگری همچون pkill و xkill هم هست که به شما توصیه میکنم لینک زیر رو هم در مورد این ابزار مطالعه بفرمایید:
چهار راه برای kill نمودن یک فرآیند در گنو/لینوکس
دستور kill یک signal را به یک یا گروهی از پروسس ها ارسال می کند. سیگنال پیشفرض TERM می باشد.
به خاطر داشته باشید که این دستور یک built-in function است و در اکثر شل ها در مسیر /bin/kill قرار گرفته است.
نحوه ی پیدا کردن process PID در لینوکس
در لینوکس هر پروسس یک PID یا Process Identification Number دارد که برای kill کردن آن مورد استفاده قرار می گیرد.
شما با استفاده از دستور pidof میتوانید pid هر پروسس را پیدا کنید:
جهت مشاهده فایل تصویری روی عکس کلیک کنید :
نحوه ی kill کردن پروسس ها در لینوکس
بعد از اینکه PID پروسس را پیدا کردیم میخواهیم آنرا kill کنیم. در مثال زیر قصد داریم که ابتدا PID پروسس را پیدا کنیم و سپس یک signal برایش ارسال کنیم: در اینجا من میخواهم پروسس gimp را kill کنم پس از دستور زیر استفاده میکنم:
برای بررسی اینکه ببینیم آیا پروسس kill شده یا نه دستور pidof را اجرا میکنیم و شما این بار نباید PID را مشاهده کنید.
جهت مشاهده فایل تصویری روی عکس کلیک کنید :
همچنین می توانید نام signal را به سمت PID ارسال کنید همانند signal های عددی:
جهت مشاهده فایل تصویری روی عکس کلیک کنید :
استفاده از سیگنال عددی برای kill کردن پروسس
جهت مشاهده فایل تصویری روی عکس کلیک کنید :
در مثال بالا عدد 9 شماره سیگنال SIGKILL میباشد.
نحوه ی kill کردن چندین PID پروسس در Linux
برای kill کردن بیشتر از یک پروسس همه PID های آنها را به کامند Kill پاس میدهیم:
جهت مشاهده فایل تصویری روی عکس کلیک کنید :
راههای زیاد دیگری هم برای kill کردن پروسس ها در لینوکس وجود دارد . مثال های جزیی بالا تنها به شما دید کلی در kill کردن آنها می دهد.
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
آنچه که شما باید درباره process ها در لینوکس بدانید
دستور ps در لینوکس برای مانیتور یا پیدا کردن process ها
راهنمای دستورات Kill - PKill و Killall برای بستن یک پروسس در لینوکس
چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم
نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس
نحوه Kill کردن Process های بی مسئولیت با استفاده از دستور xkill در لینوکس
موفق باشید ...
در این پست نحوه ی kill کردن پروسس های کم کاربرد و یا ناخواسته را روی سیستم عامل لینوکس شرح خواهیم داد.
یک process در لینوکس چیست؟
یک پروسس در حقیقت می تواند یک جریان در حال کار از یک اپلیکیشن و یا برنامه باشد. همچنین میتوان از آنها بعنوان تسک های در حال اجرا در سیستم عامل تعبیر کرد.
زمانی که یک پروسه در حال اجرا است وسیستم عامل از حالتی به حالت دیگر تغییر میکند در حقیقت آن پروسس میتواند به یکی از حالت های زیر دربیاید :
runnig :
به این معنی که همچنان پروسس در حال اجراست و یا اینکه به نحوی تنظیم شده که فقط اجرا شود .
waiting :
به این معنی که پروسس منتظر یک event یا انجام یک تسک توسط یکی از ریسورسهای سیستم است .
دو نوع پروسس waiting در لینوکس داریم: interruptible (قابل قطع و منحل شدن) و uninterruptible
(غیر قابل قطع و منحل شدن)
پروسس waiting ی که را که بتوان توسط signal ها منحل کرد interruptible می نامیم در حالی که پروسسی که مستقیما روی شرایط سخت افزاری pause شده و نمی توان آنرا تحت هیچ شرایطی قطع کرد uninterruptable می نامیم.
stopped :
به این معنی که پروسس توسط یه سیگنال متوقف شده است.
zombie :
به این معنی که پروسس ناگهان متوقف شده و در اصطلاح مرده تلقی میشود.
اکنون بعد از مرور کلی روی پروسس ها به شیوه ی kill کردن آنها در لینوکس می پردازیم.
البته برای kill کردن پروسس ها دستورات دیگری همچون pkill و xkill هم هست که به شما توصیه میکنم لینک زیر رو هم در مورد این ابزار مطالعه بفرمایید:
چهار راه برای kill نمودن یک فرآیند در گنو/لینوکس
دستور kill یک signal را به یک یا گروهی از پروسس ها ارسال می کند. سیگنال پیشفرض TERM می باشد.
به خاطر داشته باشید که این دستور یک built-in function است و در اکثر شل ها در مسیر /bin/kill قرار گرفته است.
نحوه ی پیدا کردن process PID در لینوکس
در لینوکس هر پروسس یک PID یا Process Identification Number دارد که برای kill کردن آن مورد استفاده قرار می گیرد.
شما با استفاده از دستور pidof میتوانید pid هر پروسس را پیدا کنید:
کد:
$ pidof firefox $ pidof chrome $ pidof gimp-2.8
نحوه ی kill کردن پروسس ها در لینوکس
بعد از اینکه PID پروسس را پیدا کردیم میخواهیم آنرا kill کنیم. در مثال زیر قصد داریم که ابتدا PID پروسس را پیدا کنیم و سپس یک signal برایش ارسال کنیم: در اینجا من میخواهم پروسس gimp را kill کنم پس از دستور زیر استفاده میکنم:
کد:
$ pidof gimp-2.8 $ kill 9378
کد:
$ pidof gimp-2.8
همچنین می توانید نام signal را به سمت PID ارسال کنید همانند signal های عددی:
کد:
$ pidof vlc $ kill -SIGTERM 9541 $ pidof vlc
استفاده از سیگنال عددی برای kill کردن پروسس
کد:
$ pidof banshee $ kill -9 9647 $ pidof banshee
در مثال بالا عدد 9 شماره سیگنال SIGKILL میباشد.
نحوه ی kill کردن چندین PID پروسس در Linux
برای kill کردن بیشتر از یک پروسس همه PID های آنها را به کامند Kill پاس میدهیم:
کد:
$ pidof gimp-2.8 $ pidof vlc $ pidof banshee $ kill -9 9734 9747 9762
راههای زیاد دیگری هم برای kill کردن پروسس ها در لینوکس وجود دارد . مثال های جزیی بالا تنها به شما دید کلی در kill کردن آنها می دهد.
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
آنچه که شما باید درباره process ها در لینوکس بدانید
دستور ps در لینوکس برای مانیتور یا پیدا کردن process ها
راهنمای دستورات Kill - PKill و Killall برای بستن یک پروسس در لینوکس
چگونه با استفاده از PID Number نام یک Process را در لینوکس پیدا کنیم
نحوه پیدا کردن Process های در حال اجرا که CPU و RAM زیادی در Linux مصرف میکنند
متوقف کردن و غیر فعال کردن سرویس های ناخواسته در لینوکس
نحوه Kill کردن Process های بی مسئولیت با استفاده از دستور xkill در لینوکس
موفق باشید ...