پایان دادن (Terminate (kill))
با «kill» می توانی فرایندها را متوقف کنی. «فرایند (Process)» یعنی برنامه ای در حال اجرا. گاهی قفل می کند و منابع می بلعد. پس باید پایانش بدهیم.
استفاده کلی از kill
kill یک «سیگنال (Signal)» به فرایند می فرستد. سپس فرایند واکنش نشان می دهد. بسته به سیگنال، نرم یا سخت پایان می یابد.
kill [OPTION]... <pid>...
کاربردهای رایج
- خاتمه فرایندهای هنگ کرده.
- مدیریت منابع سیستم و آزادسازی حافظه.
- ارسال سیگنال های خاص برای کنترل رفتاری.
قطع اجباری با -9 (SIGKILL)
SIGKILL قوی ترین پایان است. فرایند فرصت ذخیره ندارد. فقط وقتی لازم است استفاده کن.
kill -9 1234
فهرست سیگنال ها با -l
برای دیدن نام همه سیگنال ها از -l کمک بگیر. سپس سیگنال مناسب را انتخاب کن.
kill -l
ارسال سیگنال مشخص با -s
معمولاً اول SIGTERM می فرستیم. این پایان نرم است. برنامه می تواند تمیز ببندد.
kill -s SIGTERM 1234
چاپ شناسه فرایند با -p
گزینه -p برای چاپ PID کاربرد دارد. پیش از ارسال سیگنال، بررسی کن.
kill -p 1234
نکته: برای یافتن PID از top یا ps کمک بگیر. سپس برای ارزیابی وضعیت حافظه، free را ببین. برای «پایان دادن فرایند» هم پایان دادن فرایند را مرجع کن.
گام های عملی پایان دادن
- با
topیاpsعدد PID را بیاب. - اول
kill -s SIGTERM <pid>را اجرا کن. - اگر نرفت، با احتیاط
kill -9 <pid>بزن.
هشدار: SIGKILL ممکن است داده ذخیره نشده را از بین ببرد. پس آخرین راه باشد.
جمع بندی سریع
- kill سیگنال به فرایند می فرستد.
- اول SIGTERM؛ بعداً SIGKILL.
- PID را دقیق بررسی کن.
- پس از پایان، منابع آزاد می شوند.