основной формат предиката данных в строке swift4

При работе с сигналами POSIX у вас есть два средства. Во-первых, легкий (но устаревший) способ, signal () . Во-вторых, более элегантный, текущий, но сложный способ, sigaction () . Используйте sigaction (), если вы не обнаружите, что он недоступен на какой-либо платформе, над которой вам нужно работать.

В этой главе руководства glibc объясняются различия между ними и дает хороший пример кода о том, как использовать оба. Он также перечисляет сигналы, которые можно обрабатывать, рекомендует, как они должны обрабатываться и более подробно рассказывать о том, как указать, какой какой-либо данный сигнал (или нет) в настоящее время равен обработано. Это больше кода, чем я хотел бы вставить в ответ здесь, следовательно, ссылки.

На самом деле стоит час или два, чтобы вы могли прочитать ссылки и работать с примерами. Обработка сигналов (особенно в программах, которые демонизируют) чрезвычайно важна. Хорошая программа должна обрабатывать все фатальные сигналы, которые могут обрабатываться (например, SIGHUP), и явно игнорировать сигналы, которые он может не использовать (например, SIGUSR1 / SIGUSR2).

Также не помешает изучить разницу между нормальными и реальными сигналами времени, по крайней мере, до понимания того, как ядро ​​объединяет предыдущее, а не последнее.

После того, как вы его проработаете, вы, вероятно, почувствуете склонность писать простой набор функций для обработки ваших сигналов и повторного использования этого кода снова и снова.

Извините, что вы не даете быстрый и грязный фрагмент кода, чтобы показать вам, как решить вашу неотложную задачу, но это не быстрый и грязный вопрос:)

0
задан rmaddy 19 March 2019 в 14:14
поделиться