Seit Anfang 2017 läuft mein Monitoring Projekt auf einem Raspberry. 1 Python Skript schreibt laufend Daten von einem AD-Wandler (Photovoltaik und Akku) in eine Datenbank auf dem Raspi. Das Skript log_adc.py wird beim Start des Raspi gestartet und läuft ununterbrochen und liefert etwa 1 Datensatz pro Sekunde.
Ein zweites Skript wird alle 2 Minuten per cron gestartet. Es konsolidiert Daten in 2 weiteren Tabellen auf dem Raspi und dupliziert diese Daten auf eine Datenbank auf meinem Webspace: cons_db_export.py
Ein drittes Skript konsolidiert Tagesdaten.
Das Ganze läuft all die Jahre recht störungsfrei. Vielleicht pro Halbjahr einmal, das Daten ausbleiben, die mit einem Neustart des Raspi behoben werden können.
Es scheint allerdings automatische Software Updates des Raspis gegeben zu haben, wobei ich mich nicht erinnere, derartiges konfiguriert zu haben. Soweit ich es nachvollziehen kann, hat es bei der Behandlung von crontabs Änderungen gegeben.
Grunddaten meines Raspis:
pi@raspibms:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie
Hier die Konfiguration der crontab:
pi@raspibms:~ $ crontab -l
# Edit this file to introduce tasks to be run by cron.
…
# m h dom mon dow command
*/2 * * * * /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null 2>&1
3 0 * * * /usr/bin/python3 /home/pi/bms/cons_day_soc.py /dev/null 2>&1
Python Prozesse:
pi@raspibms:~ $ ps -ef | grep python
pi 1883 1 17 Mar08 ? 18:59:30 /usr/bin/python3 /home/pi/bms/log_adc.py
pi 4194 4190 0 22:40 ? 00:00:00 /bin/sh -c /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null 2>&1
pi 4195 4194 1 22:40 ? 00:00:03 /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null
pi 4202 4198 0 22:42 ? 00:00:00 /bin/sh -c /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null 2>&1
pi 4203 4202 2 22:42 ? 00:00:03 /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null
pi 4213 4209 0 22:44 ? 00:00:00 /bin/sh -c /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null 2>&1
pi 4214 4213 12 22:44 ? 00:00:03 /usr/bin/python3 /home/pi/bms/cons_db_export.py /dev/null
pi 4217 1388 0 22:44 pts/1 00:00:00 grep --color=auto python
Zwei Dinge verstehe ich nicht:
1. Wieso wird anscheinend zeitgleich ein zweiter Prozess gestartet?
2. Wieso scheinen Prozesse noch nach mehreren Minuten nicht beendet zu sein?