Ответные вызовы pcntl_signal не выполняются

Я использую php 5.4. Я использую gearman и supervisor для управления рабочими. Я хочу поймать сигнал TERM созданный супервизором в PHP. У меня есть следующий рабочий код:

  pcntl_signal(SIGTERM, function($sig){ error_log("interrupted", false); }); while(true){ pcntl_signal_dispatch(); $gw->work(); } } в  pcntl_signal(SIGTERM, function($sig){ error_log("interrupted", false); }); while(true){ pcntl_signal_dispatch(); $gw->work(); } } -  pcntl_signal(SIGTERM, function($sig){ error_log("interrupted", false); }); while(true){ pcntl_signal_dispatch(); $gw->work(); } } 

Мой файл confisor-диспетчера выглядит следующим образом:

 [program:public_pdf_convert] process_name = pdf_convert_%(process_num)02d command = /usr/local/bin/php worker_pdf_convert.php numprocs = 1 directory = /projects/mv2/deliver/batch/batch/workers/ 

По умолчанию супервизор использует TERM . Когда я останавливаю супервизора, я могу проверить, что рабочий-редуктор продолжает работать, но обратный вызов для pcntl_signal никогда не вызывается. Я также пробовал использовать сигнал INT .

Solutions Collecting From Web of "Ответные вызовы pcntl_signal не выполняются"