Я использую PHP Расширение PCNTL на некоторое время, но не могу понять, что restart_syscalls
параметр pcntl_signal()
делает. Я попытался осмотреть Интернет, но не смог найти никакой информации. Вся документация гласит:
«Указывает, следует ли использовать перезапуск системного вызова при поступлении этого сигнала».
Что такое «перезапуск системного вызова»?
Предположим, вы запрограммировали свой обработчик сигналов, чтобы он останавливал процесс, используя такие сигналы, как:
restart_syscalls
указывает, следует ли использовать перезапуск системного вызова при signo
прибывает. Примеры signo
это три, которые я перечислил выше, и их гораздо больше.
Это означает, что если restart_syscalls
установлен на значение по умолчанию ПРАВДА, это перезапустит определенные системные вызовы после того, как процесс был остановлен сигналом signo
, Он перезапускает прерванный системный вызов с аргументом времени, соответствующим образом откорректированным для учета времени, которое уже прошло.
Я приведу вас к этому очень простому и понятному примеру: pcntl_wait не прерывается SIGTERM
Других решений пока нет …