ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

ارسال سیگنال به فرآیندهای با kill

La کشتن دستور برای ارسال سیگنال به برنامه ها استفاده می شود. رایج ترین نحو آن به این صورت است:



کشتن [-سیگنال] PID...

کشتن [-سیگنال] PID...


اگر هیچ سیگنالی در خط فرمان مشخص نشده باشد، مدت سیگنال (خاتمه) به طور پیش فرض ارسال می شود. در کشتن دستور اغلب برای ارسال سیگنال های زیر استفاده می شود:


جدول 10-4: سیگنال های رایج


شماره

نام

معنی

1

HUP

قطع کردن. این بقایای روزهای خوب قدیمی است که پایانه ها به ریموت متصل می شدند


کامپیوترهایی با خطوط تلفن و مودم. این سیگنال برای نشان دادن اینکه ترمینال کنترل کننده "قطع" شده است به برنامه ها استفاده می شود. اثر این سیگنال را می توان با بستن یک جلسه ترمینال نشان داد. برنامه پیش زمینه در حال اجرا در ترمینال سیگنال ارسال می شود و خاتمه می یابد.

این سیگنال همچنین توسط بسیاری از برنامه های دیمون برای ایجاد یک مقدار اولیه مجدد استفاده می شود. این بدان معنی است که وقتی یک دیمون این سیگنال را ارسال می کند، دوباره راه اندازی می شود و فایل پیکربندی خود را دوباره می خواند. وب سرور آپاچی نمونه ای از دیمون است که از آن استفاده می کند HUP از این طریق سیگنال دهید

2

INT

قطع کنید. عملکرد مشابهی را انجام می دهد Ctrl-c کلید ارسال شده از ترمینال معمولاً یک برنامه را خاتمه می دهد.

9

بکش

بکش این سیگنال خاص است. در حالی که برنامه ها ممکن است تصمیم بگیرند سیگنال های ارسال شده به آنها را به روش های مختلف مدیریت کنند، از جمله نادیده گرفتن همه آنها با هم، بکش سیگنال هرگز در واقع به برنامه هدف ارسال نمی شود. در عوض، هسته بلافاصله فرآیند را خاتمه می دهد. هنگامی که یک فرآیند به این روش خاتمه می یابد، هیچ فرصتی به آن داده نمی شود که پس از خود "پاکسازی" یا ذخیره کار خود را انجام دهد. به همین دلیل، بکش سیگنال تنها زمانی باید به عنوان آخرین راه حل مورد استفاده قرار گیرد که سایر سیگنال های پایان کار با شکست مواجه شوند.

15

مدت

خاتمه دادن. این سیگنال پیش فرض ارسال شده توسط کشتن فرمان اگر یک برنامه هنوز به اندازه کافی "زنده" برای دریافت سیگنال باشد، خاتمه می یابد.

18

حساب

ادامه هید. این یک فرآیند را پس از a بازیابی می کند STOP

سیگنال قرار دارند.

19

STOP

متوقف کردن. این سیگنال باعث می شود که یک فرآیند بدون پایان متوقف شود. مانند بکش سیگنال، به فرآیند هدف ارسال نمی شود، و بنابراین نمی توان آن را نادیده گرفت.


بیایید امتحان کنیم کشتن فرمان:


[me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ کشتن -1 13546

[1]+ Xlogo Hangup

[me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ کشتن -1 13546

[1]+ Xlogo Hangup


در این مثال، ما شروع می کنیم xlogo برنامه را در پس زمینه و سپس آن را ارسال کنید HUP سیگنال با کشتن. xlogo برنامه خاتمه می یابد و پوسته نشان می دهد که فرآیند پس زمینه یک سیگنال قطع دریافت کرده است. ممکن است لازم باشد قبل از ظاهر شدن پیام، کلید اینتر را چند بار فشار دهیم. توجه داشته باشید که سیگنال ها ممکن است با شماره یا نام مشخص شوند، از جمله نام پیشوند با حروف "SIG":



[me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ kill -INT 13601 [1]+ وقفه xlogo [me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ kill -SIGINT 13608

[1]+ وقفه xlogo

[me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ kill -INT 13601 [1]+ وقفه xlogo [me@linuxbox ~]$ xlogo &

1

[me@linuxbox ~]$ kill -SIGINT 13608

[1]+ وقفه xlogo


مثال بالا را تکرار کنید و سیگنال های دیگر را امتحان کنید. به یاد داشته باشید، ما همچنین می توانیم از مشخصات شغلی به جای PID استفاده کنیم.

فرآیندها مانند فایل ها صاحب دارند و شما باید مالک یک فرآیند (یا supe - ruser) باشید تا سیگنال های آن را با آن ارسال کنید. کشتن.

علاوه بر لیست سیگنال های بالا، که اغلب با آنها استفاده می شود کشتن، سیگنال های دیگری وجود دارد که اغلب توسط سیستم استفاده می شود. در اینجا لیستی از سیگنال های رایج دیگر آمده است:


جدول 10-5: سایر سیگنال های رایج


شماره

نام

معنی

3

ترک کنید

ترک کن

11

SEGV

نقض تقسیم بندی این سیگنال در صورتی ارسال می شود که برنامه ای از حافظه غیرقانونی استفاده کند، یعنی سعی کند در جایی بنویسد که اجازه آن را ندارد.

20

TSTP

توقف ترمینال. این سیگنالی است که توسط ترمینال ارسال می شود Ctrl-z کلید فشرده شده است بر خلاف STOP سیگنال، TSTP سیگنال توسط


تصویر

برنامه اما ممکن است برنامه آن را نادیده بگیرد.


تصویر

28 WINCH تغییر پنجره. این سیگنالی است که توسط

سیستم زمانی که یک پنجره اندازه تغییر می کند. برخی از برنامه ها مانند بالا و کمتر به این سیگنال با ترسیم مجدد خود برای تناسب با ابعاد پنجره جدید پاسخ خواهند داد.


تصویر


برای افراد کنجکاو، لیست کاملی از سیگنال ها را می توان با دستور زیر مشاهده کرد:



[me@linuxbox ~]$ kill -l

[me@linuxbox ~]$ kill -l


برترین سیستم عامل Cloud Computing در OnWorks: