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

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
جز (مشخص کردن سیگنال پیش‌فرض)
 
(۳ نسخه‌ٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
'''kill''' دستوری است برای از بین بردن یا اصطلاحا کشتن یک [[پروسه|پروسه]].
+
'''kill''' فرمانی برای ارسال سیگنال به یک [[پروسه|پروسه]] خاص.
از این دستور می‌توان برای ارسال انواع سیگنال‌های از پیش تعریف شده به پروسه مورد نظر استفاده کرد. برای گرفتن یک لیست از سیگنال‌های موجود از پارامتر '''l-''' استفاده کنید:
 
  
<pre>
+
می‌توان از دستور '''kill''' برای ارسال انواع سیگنال‌های از پیش تعریف شده به پروسه مورد نظر استفاده کرد.
 +
 
 +
 
 +
برای گرفتن یک لیست از سیگنال‌های موجود از پارامتر '''l-''' استفاده کنید:
 +
 
 +
{{bc|
 
$ kill -l
 
$ kill -l
 
  1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
 
  1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
سطر ۱۷: سطر ۲۱:
 
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
 
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
 
63) SIGRTMAX-1 64) SIGRTMAX
 
63) SIGRTMAX-1 64) SIGRTMAX
</pre>
 
  
برای ارسال یک سیگنال به یک پروسه خاص:
+
}}
 +
 
  
<pre>
+
یکی از عمومی ترین کاربرد این دستور ارسال سیگنال خاتمه(SIGTERM) به یک پروسه است.
 +
 
 +
{{bc|
 
$ kill -15 1212
 
$ kill -15 1212
</pre>
+
}}
  
 
یا  
 
یا  
  
<pre>
+
{{bc|
 
$ kill -SIGTERM 1212
 
$ kill -SIGTERM 1212
</pre>
+
}}
 +
 
 +
که در آن عدد '''1212''' شماره پروسه مورد نظر است. در هر دو مثال فوق سیگنال SIGTERM به پروسه مدنظر ارسال خواهد شد. این سیگنال به پروسه فرصت می‌دهد پس‌ از ذخیره اطلاعات مورد نظر به درستی به اجرای خود خاتمه داده و بسته شود. در صورتی که نوع سیگنال را مشخص نکنید به صورت پیشفرض SIGTERM ارسال خواهد شد.
 +
 
 +
 
 +
اگر پروسه‌ای به سیگنال موردنظر پاسخگو نیست و برنامه موردنظر بسته نمی‌شود می‌توانید با ارسال SIGKILL اصطلاحاً آن را بکشید و مجبور به بستن کنید.
 +
 
 +
توجه داشته باشید که این کار بلافاصله رخ خواهد داد و برنامه مذکور فرصتی برای ذخیره اطلاعات، حذف فایل‌های قفل و آزاد سازی حافظه اختصاص داده شده نخواهد داشت.
 +
 
 +
{{bc|
 +
$ kill -9 1212
 +
}}
 +
 
 +
یا
  
که در آن 1212 شماره پروسه مورد نظر می‌باشد. در هر دو مثال فوق سیگنال SIGTERM به پروسه مدنظر ارسال خواهد شد. این سیگنال به پروسه فرصت می‌دهد پس‌ از ذخیره اطلاعات مورد نظر به درستی به اجرای خود خاتمه داده و بسته شود. در صورتی که نوع سیگنال را مشخص نکنید به صورت پیشفرض SIGTERM ارسال خواهد شد.
+
{{bc|
 +
$ kill -SIGKILL 1212
 +
}}
  
در صورتی که پروسه‌ای به سیگنال موردنظر پاسخگو نیست و برنامه موردنظر بسته نمی‌شود می‌توانید با ارسال SIGKILL اصطلاحا آن را بکشید و مجبور به بستن کنید. توجه داشته باشید که این کار بلافاصله رخ خواهد داد و برنامه مذکور فرصتی برای ذخیره اطلاعات، حذف فایل‌های قفل و ... نخواهد داشت.
 
  
 
[[رده:خط فرمان]]
 
[[رده:خط فرمان]]

نسخهٔ کنونی تا ‏۲۷ آذر ۱۴۰۲، ساعت ۰۹:۳۹

kill فرمانی برای ارسال سیگنال به یک پروسه خاص.

می‌توان از دستور 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