ich bastle mir gerade eine kleine Anwendung für unseren neuen Heim Raspi.
Nun will ich diese Anwendung [Eine GUI Anwendung die Vollbild zu sehen ist] via Script Aktualisieren und dann neu starten.
Dazu sind 3 Dinge Notwendig
1. Anwendung sauber beenden
2. Anwendung neu compilieren
3. Raspi neu starten.
2 und 3 sind kein Problem, das mache ich mittels 2 Bash Scripten:
Das Script dass ich auf meinem PC Starte
Code: Alles auswählen
#!/bin/bash
clear
echo
echo Dieses Skript aktualisiert das HA Project auf dem Raspberry Pi
echo Vorher müssen aber alle Änderungen im SVN eingecheckt sein
echo und der Raspi muss eingeschaltet sein.
echo
echo Weiter mit Return, zum abbrechen CTRG+C
echo
# Warten bis User mit Return bestätigt, ihm die Möglichkeit geben
# ab zu brechen.
read CMD;
echo Auf dem Raspi einloggen
echo Bitte Password eingeben:
ssh corpsman@192.168.168.38 'bash -s' < __0_do_not_run_me_manual.sh
echo
echo Fertig.
# Warten bis User mit Return bestätigt, ihm die Möglichkeit geben
# ab zu brechen.
read CMD;
Code: Alles auswählen
#!/bin/bash
clear
echo
echo Update SVN
echo
cd Projects
svn revert -R ./
svn update
echo
echo compile ha
echo
cd Hausautomatisierung
/home/corpsman/lazarus/lazbuild -B ha.lpi
# nicht schön aber geht, durch den Neustart wird dann auch ha neu gestartet
sudo reboot
cd ..
cd ..
echo
echo Finished
echo
Klar kann ich mit
Code: Alles auswählen
killall -9 ha
Mein Problem ist nun aber, dass mein ha Programm beim Beenden eigentlich noch Logdaten schreiben sollte, und das würde dann nicht passieren. Aktuell beende ich immer die App von hand über das touch display.
Die Frage ist also, wie kann ich aus einer Konsole heraus meinem Programm mitteilen, dass es sich kontrolliert beenden soll und in dem Script dann warten bis das Programm beendet ist ?