Frage

Ich schrieb php-Daemon für meine app und möchte einige Ausgangsinformationen implementieren erzeugt auf spezifiziertes Signal (SIGUSR1). Ich habe Handler Signal in Code

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

und Funktion Handler vorbereitet

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

Alles außer Arbeit eine Sache. Wenn i Signal zu meinem Dämon (posix_kill($pid, SIGUSR1) oder auch einfache kill -10 pid in bash) sende ich erhielt Ausgabe in Konsole, die Daemon startet.

Ist es möglich, Dateideskriptor des Anrufers und nicht des Dämons zu bekommen? Ich wan't diese Daten mit einem bestimmten Ausgang zu senden (zB nach Kill -10 PID) und nicht in FD-Daemon.

Ich hoffe, dass ich schreibe dies deutlich:)

War es hilfreich?

Lösung

Nun, man kann es nicht, ein Signal zu senden, nur einige Betriebssystem-Primitiven einrichten, es hat nichts damit zu tun, einen Verbindungsweg zwischen dem Dämon auf der einen Seite die Einrichtung und das Werkzeug verwendet, um das Signal auf der anderen Seite zu erzeugen . Die Alternativen, die Sie entweder sind die Konsolenausgabe des Dämons zu beobachten, oder machen Sie den Dämon-Dump-Status zu einer Protokolldatei und eine Art von Dienstprogramm erstellen, das Signal zu senden und drucken Sie die Log-Datei (und wenn Sie auf diese Weise gehen, warum nicht werfen aus der Logdatei zusammen und Setup eine periodische Dump Ihrer Protokollierung sowieso, da die Signale nicht eine höfliche Art inteprocess communiation zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top