Signale über mehrere Prozesse (Extern)
Verfasst: 24. September 2012 09:39
Guten Morgen,
ich bin im Moment auch dabei mich ein wenig mit QT zu beschäftigen und habe da mal eine Frage.... diese Frage ist mehr technischer Natur, aber da es QT beinhaltet hier vielleicht gar nicht mal so falsch.
Angenommen man hat einen Dienst oder ein Hintergrundprozess der eine bestimmte Struktur überwacht und bei einem bestimmten Ereignis ein "Signal" sendet (emit) ist es möglich das ein weiterer Prozess (Programm) welches
nichts von dem Hintergrundprozess (Dienst) weiss dieses Signal empfangen kann? Das Signal wäre vermutlich in Hintergrundprozess definiert, wie kann man an diese Signale kommen. Kann man die Signale irgendwie global machen und wie kann man Sie identifizieren. Es gibt wohl keine Id wie bei Prozessen. An diesem Problem sitze ich im Moment. Bisher wurde das alles über eine Datei (File) als Man-in-the-Middle gelöst, aber auf dauert ist das zu lästig.
Ein QFilesystemwatcher hat bisher das File überwacht und dann ein Signal gemeldet, wenn eine Änderung statt gefunden hat, aber innerhalb des Prozess (nicht der Hintergrundprozess). Ist das überhaupt möglich? Bzw. gibts vordefinierte Signale die man vielleicht verwenden kann? Ich weiss in C++ gibts solch ähnliche Mechanismen, aber ich möchte wenns geht, dies mit den QT Hauseigenen Signale lösen, weil da kann ich mir sicher sein, das es vom richtigen Prozess abgerufen wird und nicht von einem anderen verändert oder vorher abgegriffen wird.
Ich hoffe es war einigermaßen verständlich was ich gerne wüsste. Vielen Dank schon mal für die Antworten...
liebe Grüße Reddi
ich bin im Moment auch dabei mich ein wenig mit QT zu beschäftigen und habe da mal eine Frage.... diese Frage ist mehr technischer Natur, aber da es QT beinhaltet hier vielleicht gar nicht mal so falsch.
Angenommen man hat einen Dienst oder ein Hintergrundprozess der eine bestimmte Struktur überwacht und bei einem bestimmten Ereignis ein "Signal" sendet (emit) ist es möglich das ein weiterer Prozess (Programm) welches
nichts von dem Hintergrundprozess (Dienst) weiss dieses Signal empfangen kann? Das Signal wäre vermutlich in Hintergrundprozess definiert, wie kann man an diese Signale kommen. Kann man die Signale irgendwie global machen und wie kann man Sie identifizieren. Es gibt wohl keine Id wie bei Prozessen. An diesem Problem sitze ich im Moment. Bisher wurde das alles über eine Datei (File) als Man-in-the-Middle gelöst, aber auf dauert ist das zu lästig.
Ein QFilesystemwatcher hat bisher das File überwacht und dann ein Signal gemeldet, wenn eine Änderung statt gefunden hat, aber innerhalb des Prozess (nicht der Hintergrundprozess). Ist das überhaupt möglich? Bzw. gibts vordefinierte Signale die man vielleicht verwenden kann? Ich weiss in C++ gibts solch ähnliche Mechanismen, aber ich möchte wenns geht, dies mit den QT Hauseigenen Signale lösen, weil da kann ich mir sicher sein, das es vom richtigen Prozess abgerufen wird und nicht von einem anderen verändert oder vorher abgegriffen wird.
Ich hoffe es war einigermaßen verständlich was ich gerne wüsste. Vielen Dank schon mal für die Antworten...
liebe Grüße Reddi