اینجا هستید : safarionline.ir / books / lpi / ch22

فصل ۲۲ - Signals: Advanced Features

در این فصل مبحث سیگنال را، که در فصل ۲۰ و فصل ۲۱ آغاز کرده‌ایم، به پایان می‌رسانیم. در این فصل با موارد زیر آشنا می‌شویم:

بعضی سیگنال‌ها باعث می‌شوند تا پراسس یک فایل core dump ایجاد کند و سپس terminate شود. برای یادآوری این تصویر از فصل ۲۰ را ببینید. core dump یک فایل، حاوی تصویر حافظه‌ی پراسس در زمانی است که terminate شده است. لغت core از یک فناوری قدیمی حافظه (memory) می‌آید. این تصویر حافظه یا memory image را می‌توان در یک دیباگر لود کرد تا وضعیت کد و دیتای برنامه در زمانی که سیگنال از راه رسیده است را بررسی کرد.

📝 یکی از راه‌هایی که می‌توان پراسس را مجبور به ایجاد فایل core dump کرد تایپ کاراکتر quit (معمولا Control-\) است که باعث تولید سیگنال SIGQUIT می‌شود.

$ ulimit -c unlimited
$ sleep 30
Type Control-\
Quit (core dumped)

در مثال بالا پیام Quit (core dumped) به وسیله‌ی shell نوشته می‌شود. shell متوجه شده است که فرزندش، یعنی پراسسی که sleep را اجرا می‌کرده، توسط سیگنال SIGQUIT کشته شده و یک فایل core dump ایجاد شده است.

مطالعه‌ی بیشتر

  1. sigsuspend(2)
  2. sigwaitinfo(2)
  3. sigtimedwait(2)
  4. signalfd(2)
© کلیه‌ی حقوق برای safarionline.ir محفوظ است.