Automatisch herstarten op crash
This commit is contained in:
parent
9753f676f4
commit
6f8da01075
|
@ -7,7 +7,7 @@
|
||||||
en [klant-ip] door het ip-adres van het rekentuig dat de klant draait.
|
en [klant-ip] door het ip-adres van het rekentuig dat de klant draait.
|
||||||
- Als je het programmaatje niet als root wilt uitvoeren, verander dan ook
|
- Als je het programmaatje niet als root wilt uitvoeren, verander dan ook
|
||||||
de gebruiker in dit script.
|
de gebruiker in dit script.
|
||||||
3. Plaats aiuo-shutdown.service, aiuo-shutdown-suspend.service en aiuo-wakeup.service in `/etc/systemd/system`.
|
3. Plaats aiuo-shutdown.service en aiuo-shutdown-sleep.service in `/etc/systemd/system`.
|
||||||
4. Start deze services met systemd. Als je zeker weet dat het werkt, schakel het dan in.
|
4. Start deze services met systemd. Als je zeker weet dat het werkt, schakel het dan in.
|
||||||
- Ik heb mijn rekentuig een keer onopstartbaar gemaakt, omdat het zichzelf meteen
|
- Ik heb mijn rekentuig een keer onopstartbaar gemaakt, omdat het zichzelf meteen
|
||||||
afsloot. Houd hier rekening mee!
|
afsloot. Houd hier rekening mee!
|
||||||
|
|
13
ober/aiuo-shutdown-sleep.service
Normal file
13
ober/aiuo-shutdown-sleep.service
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=AIUO sleep hook
|
||||||
|
Before=sleep.target
|
||||||
|
StopWhenUnneeded=yes
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=-aiuo-shutdown --notify sleep
|
||||||
|
ExecStop=-aiuo-shutdown --notify wakeup
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sleep.target
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Notify aiuo-shutdown when system goes sleeping
|
|
||||||
StopWhenUnneeded=yes
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStop=aiuo-shutdown --notify sleep
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=sleep.target
|
|
|
@ -1,12 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Notify aiuo-shutdown when system wakes up
|
|
||||||
After=sleep.target
|
|
||||||
StopWhenUnneeded=yes
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
ExecStop=aiuo-shutdown --notify wakeup
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=suspend.target
|
|
|
@ -6,6 +6,8 @@ After=network-online.target
|
||||||
[Service]
|
[Service]
|
||||||
Type=idle
|
Type=idle
|
||||||
ExecStart=aiuo-shutdown [wachttijd] [klant-ip]
|
ExecStart=aiuo-shutdown [wachttijd] [klant-ip]
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=3
|
||||||
User=root
|
User=root
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|
|
@ -58,11 +58,13 @@ def sigterm_handler(signum, frame):
|
||||||
|
|
||||||
def sigusr1_handler(signum, frame):
|
def sigusr1_handler(signum, frame):
|
||||||
LOGGER.debug("Going to sleep")
|
LOGGER.debug("Going to sleep")
|
||||||
client.notify("NotifySleep")
|
if client:
|
||||||
|
client.notify("NotifySleep")
|
||||||
|
|
||||||
def sigusr2_handler(signum, frame):
|
def sigusr2_handler(signum, frame):
|
||||||
LOGGER.debug("Waking up")
|
LOGGER.debug("Waking up")
|
||||||
client.notify("NotifyWakeup")
|
if client:
|
||||||
|
client.notify("NotifyWakeup")
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
@ -87,7 +89,6 @@ def main() -> None:
|
||||||
LOGGER.debug(client.call("GetBootReason"))
|
LOGGER.debug(client.call("GetBootReason"))
|
||||||
# Alleen de klant op de hoogte stellen nadat we hebben laten weten dat we er zijn.
|
# Alleen de klant op de hoogte stellen nadat we hebben laten weten dat we er zijn.
|
||||||
LOGGER.debug("signalen registreren")
|
LOGGER.debug("signalen registreren")
|
||||||
#loop.add_signal_handler(signal.SIGINT, lambda: asyncio.ensure_future(sigint_handler()))
|
|
||||||
signal.signal(signal.SIGTERM, sigterm_handler)
|
signal.signal(signal.SIGTERM, sigterm_handler)
|
||||||
signal.signal(signal.SIGUSR1, sigusr1_handler)
|
signal.signal(signal.SIGUSR1, sigusr1_handler)
|
||||||
signal.signal(signal.SIGUSR2, sigusr2_handler)
|
signal.signal(signal.SIGUSR2, sigusr2_handler)
|
||||||
|
|
Loading…
Reference in a new issue