دسته بندی:

Kill کردن پروسه ها در CentOS, Ubuntu و سایر توزیع های لینوکس

به عنوان یک مدیر سرور٬ اغلب شاهد این هستید که برخی از فایل ها یا پروسه ها با خطا مواجه شده و یا سبب هنگ سرور می شوند. در این مقاله کوتاه نیز به نحوه شناسایی و kill کردن (متوقف کردن) این پروسه ها می پردازیم.

شناسایی پروسه ها

در ابتدا putty و یا هر برنامه دیگری که با آن به شل لینوکس متصل می شوید را باز نمایید.

برای kill کردن پروسه ها ابتدا لازم است process id را بیابید:

ps aux | grep yum
ps aux | grep process
ps aux | grep apt-get
ps aux | grep named

فرمان “ps aux” تمامی پروسه های در حال اجرا centos را بازخوانی میکند و grep یک ابزاری است که نتیجه را در قالب text/strings نمایش میدهد. Yum یک installer پیش فرض در centos میباشد.(معادل apt-get در اوبونتو)

دستورات فوق اطلاعاتی مانند process id تمامی yum process در حال اجرا را نمایش میدهند.

نحوه kill پروسه ها

متوقف کردن پروسه های در  حال اجرا با syntax زیر قابل انجام است.

برای مثال:

kill SIGNAL processID

(processID میبایست با ID که در مرحله قبل بدست اورده ایم جایگزین شود و SIGNAL یک پارامتر اختیاری میباشد.)

سه تا از سیگنال های قابل استفاده در سینتکس فوق عبارتند از:

 

  •  (چنانچه پروسه kill هنگ کند ,مجددا kill را ریلود میکند)
  •  (این سوییچ پیشنهاد نمیشود چرا که بصورت force  پروسه kill را اجرا می کند)
  • -۱۵ (ایمن ترین روش kill همین مورد می باشد که بطور پیش فرض نیز همین پروسه میباشد)

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

چند مثال از نحوه kill کردن process ها:

پیش فرض٬ توقیف امن:

kill 25632

Force kill

kill -9 25632

Hangup

kill -1 25632

پروسه های yum نیاز به force kill با دسترسی root دارند

چنانچه پروسه های YUM گیر کنند٬ اغلب برای این منظور force kill نیاز است.

در برخی موارد لازم است حتما برای توقف پروسه ها با یوزر root لاگین نمایید. چنانچه با user root لاگین نباشید نمیتوانید این دسته از پروسه ها را kill کنید.