SIGQUIT
обычно используется для завершения процесса и создания дампа ядра.
Клавиша по умолчанию для отправки SIGQUIT
- Control - \ . Вы также можете отправить сигнал с помощью
kill -QUIT <pid>
Если PID отрицателен, использует положительное значение в качестве идентификатора группы процессов и отправляет сигнал всем процессам в группе.
Control-C отправляет SIGINT
.
Сгенерированные с клавиатуры сигналы отправляются всей группе процессов переднего плана. Поэтому, если ваша программа разветвляет детей, сигналы клавиатуры будут отправлены всем им.
Если вы хотите, чтобы ваша программа делала что-то другое с этим сигналом, используйте функцию signal(3)
или sigaction(2)
, чтобы назначить ему функцию обработчика сигнала.
Если вы установите обработчик перед разветвлением, они наследуют его. Но если они вызывают exec
для запуска новой программы, обработчики сигналов возвращаются к значениям по умолчанию в этом процессе (так как функция обработчика не будет существовать в новой программе).