Systemd täglicher Restart?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,

    ich habe ein komisches Problem.

    Ich habe ein Programm geschrieben, das mir meine Heizung steuern soll. Da es 24/7 laufen soll, ist es als Daemon gemacht. In C geschrieben.

    Ich starte das Programm, es läuft wunderbar. Bis 00:48. Täglich. Syslog sagt folgendes:

    Der erste Eintrag ist ein crond-Eintrag. 00:17. Um 00:48 ist es kein crond-Prozess. Habe auch bei den cron Einstellungen nachgesehen, da ist nirgendwo ein Eintrag mit 00:48.
    Jetzt habe ich natürlich auch mal ein wenig gesucht, aber nichts Erhellendes gefunden, außer:

    Zitat

    It's of course nasty that these messages are printed each time an unprivileged cronjob is run, but well, this is running unpriviliged code, and we really should log about it.


    Es soll also ein unpriviligierter Cronjob laufen. Abe rder muß ja irgendwo definiert sein. Ist er aber nicht. :mad_GREEN:
    Und selbst wenn ein Prozess gestartet wird, warum beendet er dann mein Daemon?

    Jemand eine Idee?

  • Hallo,

    grundsätzlich läuft systemd ja unabhängig von cron bzw. systemd steuert sich selber - ist ja auch der init-Dienst. Ob und warum sich das selber neu startet weiß ich nicht - jedenfalls habe ich in diese Richtung noch nie irgendwas gehört...

    Wie startest du denn deinen Dienst? Über eine systemd Service Unit?

    Gruß, nosiefloor


  • Bis 00:48. Täglich. Syslog sagt folgendes:

    Code
    Mar 17 00:48:39 heizung systemd[2604]: Received SIGRTMIN+24 from PID 5425 (kill).

    Kannst Du in den logs noch sehen, welcher Prozess die PID 5425 hatte? Wenn nicht, dann mal vor dem nächtlichen reboot, alle PIDs speichern.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hi,

    so, zu meinem nächsten Problemchen dann mal ein Update:
    Ich habe einen cronjob eingerichtet, der mir alle Prozesse anzeigt. Alle zwei Minuten. Über den ganzen Tag.
    Gestern hat sich der systemd dann nicht um 00:49 verabschiedet, sondern um 00:33. Und er hat komischerweise NICHT den Heizungsprozess mitgenommen- der zu diesem Zeitpunkt aber dennoch keine Temperaturen gemessen hat. Irgendwas war da also (mal wieder).

    Das is pstree eine Minute davor:


    Das ist syslog:

    Was könnte der Grund dafür sein?

  • Also schlaue Fehler gibt es relativ selten.
    Wenn ich mich noch recht entsinne, ist es möglich - einen Prozess ein Runlevel zu zuweisen, wo dieser abgearbeitet wird.
    Fehlende Rechte oder zu einem gewissen Zeitpunkt nicht erreichbare Pfade können auch eine Ursache sein.

    Manch script legte ich aus Faulheit schon mal mit dem root User ab. Dann kommt ein anderes Script an- will das ausführen - und es geht nicht - weil die Rechte fehlten.
    Was ich z.B. nicht mag das sind Scripte welche in /home/pi oder /root/pi liegen.

    Ich würde das anders machen. z.B. ein Programm wo die Temperatur einfach liest und z.B. in eine Datenbank einträgt. Das einfach per CRON-JOB ausführen.

    Hat’s gerochen und gestunken, war’s Gerät von Tele…….n !

    M**le, M**le sprach die Tante, als die Waschmaschine brannte …

  • Code
    Mar 19 00:33:05 heizung systemd[4133]: Received SIGRTMIN+24 from PID 5610 (kill).

    Was könnte der Grund dafür sein?

    Ich denke dein PI hat ein Speicherproblem, evtl. durch exzessives Loggen. Wenn Du dich von der richtigen Funktionsweise deines PI (für den 24/7-Betrieb) überzeugt hast, sollte man (bis auf lastlog und wtmp und evtl. etwas benutzerdefiniertes/speicherverträgliches Loggen) das Loggen auf dem PI deaktivieren.

    Dienste (z. B. avahi-daemon, tgh, snmpd) die Du nicht brauchst, evtl. auch deinstallieren.

    BTW: Warum ist sshd auf deinem PI, im 24/7-Betrieb, mit einer zusätzlichen PID aktiv?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hi Alle!

    Danke für die Ideen. Komischerweise ist das Problem derzeit verschwunden. Aber eine Ursache könnte sein:

    Zitat

    Ich denke dein PI hat ein Speicherproblem, evtl. durch exzessives Loggen.


    Das kann durchaus sein, weil mein Programm tatsächlich viel logt. Inzwischen liegt /var/log auf einem tmpfs (und nicht mehr auf der CF Karte) it 50M- das ist deutlich schneller.

    Also: Entwarnung, Problem erledigt, hing vermutlich mit den loggen zusammen.

    Loggen deaktivieren fällt aus- es reicht, wenn /var/log auf tmpfs liegt und zusätzlich auf einen zentralen syslog Server geloggt wird.

    Danke für die Hinweise!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!