Kill

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۴ خرداد ۱۳۹۹، ساعت ۰۲:۴۷ توسط Esmaeele (بحث | مشارکت‌ها) (تغییرات جزئی، تغییر تعریف فرمان بر اساس راهنمای man ، اضافه کردن SIGKILL)
پرش به: ناوبری، جستجو

kill دستوری است برای از ارسال سیگنال به یک پروسه خاص.

از این دستور می‌توان برای ارسال انواع سیگنال‌های از پیش تعریف شده به پروسه مورد نظر استفاده کرد.

برای گرفتن یک لیست از سیگنال‌های موجود از پارامتر l- استفاده کنید:

$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

یکی از عمومی ترین کاربرد این دستور ارسال سیگنال خاتمه(SIGTERM) به یک پروسه است.

$ kill -15 1212

یا

$ kill -SIGTERM 1212

که در آن عدد 1212 شماره پروسه مورد نظر می‌باشد. در هر دو مثال فوق سیگنال SIGTERM به پروسه مدنظر ارسال خواهد شد. این سیگنال به پروسه فرصت می‌دهد پس‌ از ذخیره اطلاعات مورد نظر به درستی به اجرای خود خاتمه داده و بسته شود. در صورتی که نوع سیگنال را مشخص نکنید به صورت پیشفرض SIGTERM ارسال خواهد شد.


اگر پروسه‌ای به سیگنال موردنظر پاسخگو نیست و برنامه موردنظر بسته نمی‌شود می‌توانید با ارسال SIGKILL اصطلاحاً آن را بکشید و مجبور به بستن کنید.

توجه داشته باشید که این کار بلافاصله رخ خواهد داد و برنامه مذکور فرصتی برای ذخیره اطلاعات، حذف فایل‌های قفل و ... نخواهد داشت.


$ kill -9 1212

یا

$ kill -SIGKILL 1212