kill (یونیکس)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

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

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

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

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

 kill -HUP 1432

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

 kill -TERM 1432

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