Arrestare script al reboot / suthdown
Posted: Tue Jul 02, 2019 1:05 am
Salve a tutti, forse il problema che sto ponendo è banale, ma ho speso davvero tanto tempo in lungo e largo senza trovare una soluzione.
Ho uno script sempre attivo sul raspberry 3 con installato stretch. In pratica questo script ha all'interno un ciclo while che verifica che in un file di appoggio ci sia scritto "TRUE". Quando necessito di arrestare lo script lo faccio semplicemente scrivendo, a mano o con un'altro script, "FALSE" in questo file di appoggio. In questo modo posso chiudere lo script principale seguendo le procedure corrette e senza creare nessun problema/errore
Ora, questo il mio problema. Ho necessità di uno script che al re boot / shutdown faccia la stessa cosa, in pratica scriva FALSO nel file di appoggio. Ho provato a scrivere un file service come questo
[Unit]
Description=Disconneting from PLC-SQL
Requires=network.target
DefaultDependencies=no
Before=shutdown.target reboot.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=my script full path
[Install]
WantedBy=multi-user.target
Funziona correttamente, infatti viene scritto "FALSE" nel file di appoggio, ma lo script principale è praticamente killato di brutto al punto in cui si trova, senza quindi eseguire le procedure di arresto di cui ho bisogno.
Per quanto ho capito il processo di shutdown/reboot arresta comunque ed immediatamente tutti gli utenti , o qualcosa del genere. Di conseguenza lo script principale è killato prima quello si appoggio (che chiamo allo shutdown) scriva "FALSE" nel file.
C'è un modo per risolvere il mio problema?
Grazie a tutti
Ho uno script sempre attivo sul raspberry 3 con installato stretch. In pratica questo script ha all'interno un ciclo while che verifica che in un file di appoggio ci sia scritto "TRUE". Quando necessito di arrestare lo script lo faccio semplicemente scrivendo, a mano o con un'altro script, "FALSE" in questo file di appoggio. In questo modo posso chiudere lo script principale seguendo le procedure corrette e senza creare nessun problema/errore
Ora, questo il mio problema. Ho necessità di uno script che al re boot / shutdown faccia la stessa cosa, in pratica scriva FALSO nel file di appoggio. Ho provato a scrivere un file service come questo
[Unit]
Description=Disconneting from PLC-SQL
Requires=network.target
DefaultDependencies=no
Before=shutdown.target reboot.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=my script full path
[Install]
WantedBy=multi-user.target
Funziona correttamente, infatti viene scritto "FALSE" nel file di appoggio, ma lo script principale è praticamente killato di brutto al punto in cui si trova, senza quindi eseguire le procedure di arresto di cui ho bisogno.
Per quanto ho capito il processo di shutdown/reboot arresta comunque ed immediatamente tutti gli utenti , o qualcosa del genere. Di conseguenza lo script principale è killato prima quello si appoggio (che chiamo allo shutdown) scriva "FALSE" nel file.
C'è un modo per risolvere il mio problema?
Grazie a tutti