Hi Leute.
Ich entwickle gerade ein Snapshotprogramm für btrfs in Python 3.
Da ich gerne diese Sprache lernen möchte und dies am besten eines konkreten Problems kann... [emoji5]
Ich arbeite mit Klassen und das Programm funktioniert schon sehr gut.
Allerdings möchte ich noch eine Steuerung mittels Signalen implementieren. Dazu hab ich auch schon einiges gefunden und probiert...
Nur SIGTERM wird ignoriert. Egal was ich mache.
Konkret bei einem Aufruf von sys.path.exists auf ein nicht vorhandenes device mit aktiviertem automount an diesem Mountpunkt.
Konkret möchte ich bei Unterbrechung des Programms den Namen des aktuell bearbeiteten Snapshot in ein File schreiben.
Wo finde ich noch Infos dazu?
Die Beispiele die ich fand gaben mir keine Hilfe...
Lg Scientific
Gesendet von meinem GT-I8200 mit Tapatalk
Python 3 und Signale
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Python 3 und Signale
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Re: Python 3 und Signale
Also, ich habe mich nur ein bißchen mit dem Abfangen von ^C gespielt, was aber afaik normalerweise zu SIGINT führt (ich komme mit den Signalen immer durcheinander). Jedenfalls habe ich damals das hier gefunden (speziell die Antwort, die mit "A class based clean to use solution:" beginnt)
http://stackoverflow.com/questions/1849 ... gracefully
http://stackoverflow.com/questions/1849 ... gracefully
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Re: Python 3 und Signale
Ich habs jetzt anders gelöst...
Wenn ich einen Snapshot erstelle (auch rekursiv von Unterverzeichnissen), dann hänge ich beim obersten Snapshot ein ".part" an den Subvolume-Namen an.
Als allerletzte Aktion bei der Erstellung des Snapshots (Also wenn alle Subvolumes unterhalb erfolgreich erstellt wurden) gibts ein rename wo das ".part" entfernt wird.
Und bei jedem create eines Snapshots frage ich als allererstes nach Snapshots mit ".part" und lösche diese, bevor ich den neuen Snapshot erstelle oder übertrage.
Funktioniert bislang ganz gut.
lg scientific
Wenn ich einen Snapshot erstelle (auch rekursiv von Unterverzeichnissen), dann hänge ich beim obersten Snapshot ein ".part" an den Subvolume-Namen an.
Als allerletzte Aktion bei der Erstellung des Snapshots (Also wenn alle Subvolumes unterhalb erfolgreich erstellt wurden) gibts ein rename wo das ".part" entfernt wird.
Und bei jedem create eines Snapshots frage ich als allererstes nach Snapshots mit ".part" und lösche diese, bevor ich den neuen Snapshot erstelle oder übertrage.
Funktioniert bislang ganz gut.
lg scientific
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main