kill

از ویکی‌پدیا، دانشنامهٔ آزاد

قتل یکی از دستورهای خط فرمان یونیکس است که برای ارسال سیگنال به یک فرایند به کار می‌رود. قالب کلی این دستور به شکل زیر است:[۱]

kill [-s signal_name] pid ...
 kill -l [exit_status]
 kill -signal_name pid ...
 kill -signal_number pid ...

برای ارسال یک سیگنال به یک فرایند باید شماره PID آن را بدانیم. هر کاربر فقط می‌تواند به فرایندهایی خودش سیگنال بفرستد. اما کاربر ریشه می‌تواند به همه فرایندها سیگنال ارسال کند.

مثال[ویرایش]

گاهی فایل پیکربندی یک فرایند را تغییر می‌دهیم و نیاز است تا فرایند از این موضوع آگاه شود تا فایل پیکربندی اش را مجدداً بخواند و تنظیمات جدید را اعمال کند. در این حالت می‌توان با ارسال یک سیگنال HUP این موضوع را به فرایند اطلاع داد. با فرض اینکه شماره PID آن فرایند ۱۴۳۲ باشد:

 kill -HUP 1432

گاهی می‌خواهیم یک برنامه را از بین ببریم. می‌توانیم سیگنالی به فرایند مورد نظر ارسال کنیم و از او بخواهیم که خودش را نابود کند. دو سیگنال رایج برای این کار سیگنال TERM و KILL هستند. TERM به فرایند اجازه می‌دهد ابتدا فایل‌های باز را ببندد و تمام زیر پروسه‌ها را نابود کند و سپس خودش را از بین ببرد. اما سیگنال KILL بلافاصله فرایند را از بین خواهد برد؛ بنابراین باید دقت کرد که فایل‌ها و دیگر برنامه‌ها آسیب نبینند.

 kill -TERM 1432

منابع[ویرایش]