Kill: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(ایجاد صفحه - راهنمای استفاده ابتدایی)
 
جز (مشخص کردن سیگنال پیش‌فرض)
(یک نسخهٔ میانیِ همین کاربر نمایش داده نشده است)
سطر ۳۱: سطر ۳۱:
 
</pre>
 
</pre>
  
که در آن 1212 شماره پروسه مورد نظر می‌باشد. در هر دو مثال فوق سیگنال SIGTERM به پروسه مدنظر ارسال خواهد شد. این سیگنال به پروسه فرصت می‌دهد پس‌ از ذخیره اطلاعات مورد نظر به درستی به اجرای خود خاتمه داده و بسته شود.
+
که در آن 1212 شماره پروسه مورد نظر می‌باشد. در هر دو مثال فوق سیگنال SIGTERM به پروسه مدنظر ارسال خواهد شد. این سیگنال به پروسه فرصت می‌دهد پس‌ از ذخیره اطلاعات مورد نظر به درستی به اجرای خود خاتمه داده و بسته شود. در صورتی که نوع سیگنال را مشخص نکنید به صورت پیشفرض SIGTERM ارسال خواهد شد.
  
 
در صورتی که پروسه‌ای به سیگنال موردنظر پاسخگو نیست و برنامه موردنظر بسته نمی‌شود می‌توانید با ارسال SIGKILL اصطلاحا آن را بکشید و مجبور به بستن کنید. توجه داشته باشید که این کار بلافاصله رخ خواهد داد و برنامه مذکور فرصتی برای ذخیره اطلاعات، حذف فایل‌های قفل و ... نخواهد داشت.
 
در صورتی که پروسه‌ای به سیگنال موردنظر پاسخگو نیست و برنامه موردنظر بسته نمی‌شود می‌توانید با ارسال 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

برای ارسال یک سیگنال به یک پروسه خاص:

$ kill -15 1212

یا

$ kill -SIGTERM 1212

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

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