Anwendung beim Ende einer GNOME-Session korrekt beenden
Verfasst: Dienstag 22. Mai 2012, 13:01
Hallo,
ich bin nicht ganz sicher, ob ich in diesem Unterforum richtig bin. Da meine Frage aber zu mindestens einen Bezug zu GNOME habe, versuche ich es mal ...
Ich programmiere gerade ein kleines Werkzeug, das im Hintergrund Dateien synchronisieren soll. Eigentlich ist das Programm keine GTK-Anwendung, weil für diese Aufgabe keine GUI notwendig ist. Bislang bin ich so weit, dass ich das Programm über Befehlszeilenparameter starten und stoppen kann. Das Programm protokolliert seine Aktivitäten, wobei aber nicht bei jeder Aktivität das Logfile geschrieben wird, sondern immer ein paar Einträge im Speicher gehalten werden.
Es ist daher notwendig, dass das Programm korrekt gestoppt wird und nicht einfach der Prozess gekillt wird. Dies gilt natürlich auch, wenn der Benutzer sich abmeldet bzw. die Session beendet.
Meine Frage: wie kann bzw. sollte ich in einer Anwendung auf das Beenden der Benutzersitzung reagieren? Gibt es im Session Management von GNOME eine Möglichkeit, sich dafür zu registrieren, sodass dann eine Callback-Funktion aufgerufen wird?
(Einen Handler für SIGTERM/SIGINT habe ich schon ausprobiert, aber ich bin nicht sicher, ob das hier der richtige Ansatz ist.)
Ich bin für jeden Hinweis dankbar.
Besten Gruß, Jochen
ich bin nicht ganz sicher, ob ich in diesem Unterforum richtig bin. Da meine Frage aber zu mindestens einen Bezug zu GNOME habe, versuche ich es mal ...
Ich programmiere gerade ein kleines Werkzeug, das im Hintergrund Dateien synchronisieren soll. Eigentlich ist das Programm keine GTK-Anwendung, weil für diese Aufgabe keine GUI notwendig ist. Bislang bin ich so weit, dass ich das Programm über Befehlszeilenparameter starten und stoppen kann. Das Programm protokolliert seine Aktivitäten, wobei aber nicht bei jeder Aktivität das Logfile geschrieben wird, sondern immer ein paar Einträge im Speicher gehalten werden.
Es ist daher notwendig, dass das Programm korrekt gestoppt wird und nicht einfach der Prozess gekillt wird. Dies gilt natürlich auch, wenn der Benutzer sich abmeldet bzw. die Session beendet.
Meine Frage: wie kann bzw. sollte ich in einer Anwendung auf das Beenden der Benutzersitzung reagieren? Gibt es im Session Management von GNOME eine Möglichkeit, sich dafür zu registrieren, sodass dann eine Callback-Funktion aufgerufen wird?
(Einen Handler für SIGTERM/SIGINT habe ich schon ausprobiert, aber ich bin nicht sicher, ob das hier der richtige Ansatz ist.)
Ich bin für jeden Hinweis dankbar.
Besten Gruß, Jochen