در این فصل مبحث سیگنال را، که در فصل ۲۰ و فصل ۲۱ آغاز کردهایم، به پایان میرسانیم. در این فصل با موارد زیر آشنا میشویم:
بعضی سیگنالها باعث میشوند تا پراسس یک فایل 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 ایجاد شده است.