Pregunta

Me acabo de escribir php demonio para mi aplicación y desea implementar alguna información de salida generada en señal especificada (SIGUSR1). Tengo manejador de señales en código

    pcntl_signal(SIGUSR1, array($this, 'signal_status'));

y controlador de función preparado

  protected function signal_status($signal_number)
  { printf("blah\n"); }

Todo el trabajo excepto una cosa. Cuando envío de señales a mi demonio (posix_kill($pid, SIGUSR1) o incluso kill -10 pid sencilla en bash) me dieron la salida en la consola que se inicia el demonio.

¿Es posible obtener el descriptor de archivo de la persona que llama y no del demonio? I wan't a enviar estos datos a la salida especificada (por ejemplo después de kill -10 PID) y no en FD de daemon.

Espero que escribí esto claramente:)

¿Fue útil?

Solución

Bueno, no se puede, enviando una señal es sólo la creación de algunas primitivas del sistema operativo, no tiene nada que ver con la creación de una ruta de comunicación entre el demonio en una mano y la herramienta utilizada para generar la señal por otra parte . Las alternativas que tiene están viendo ya sea la salida de la consola del demonio, o hacer el estado volcado demonio para un archivo de registro y crear algún tipo de utilidad para enviar la señal e imprimir el archivo de registro (y si vas de esa manera, ¿por qué no tira el archivo de registro completo y la configuración de un vertedero periódica de su registro de todos modos, ya que las señales no son una forma educada de hacer communiation inteprocess.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top