Archiv 7. Mai 2020

Donnerstag, 7. Mai 2020

Frau Schweitzer und Benjamin Franklin

Während dem Lockdown habe ich James Burkes The Day the Universe Changed geschaut. In der Episode „What the Doctor Ordered“ wird eine Frau „Helvetius“ erwähnt, die in ihrem Salon mit Benjamin Franklin verkehrte.

Spannender Name, dachte ich mir, und wollte ergründen, ob die gute Frau irgendeine Verbindung zur Schweiz (der damaligen Eidgenossenschaft) hat — wieso sonst dieser Name?

Antwort: Nein. Ihr Mann, Claude Adrien Helvétius hiess in nicht-latinisierter Form „Claude Adrien Schweitzer„. Geboren wurde er aber in Frankreich, wo er auch starb. Sein Urgrossvater stammte aus dem Gebiet des heutigen Deutschlands.

Tags: , , , , , , , ,
Labels: Geschichte

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 7. Mai 2020

monit Prozesscheck ohne PID-Datei

Wieder einmal ein Beitrag zu einem meiner Linux-Lieblingstools: monit.

Wenn man einen Prozess überwachen will, der keine PID-Datei schreibt (welche die Process ID enthält), hilft monit auch hier weiter:

check process homebridge matching "homebridge"
    start program = "/usr/local/bin/homebridge/start.sh"
    stop program = "/usr/bin/pkill -f homebridge"

Läuft auf dem System ein Prozess, der „homebridge“ enthält, ist monit zufrieden. Ansonsten wird das Start-Script ausgeführt.

Das Beste: Im zu suchenden String kann man auch reguläre Ausdrücke unterbringen. Leider funktionierte aber folgende Zeichenfolge nicht:

"^homebridge$"

Auch die leicht vereinfachte Version führte zu andauernden Neustarts des Prozess, obwohl er bereits lief (d.h. monit konnte keinen laufenden Prozess finden, der auf den folgenden Ausdruck passte):

"homebridge$"

Schlussendlich half mir eine Antwort auf superuser auf den richtigen Pfad. Um interaktiv zu überprüfen, ob und wie viele Prozesse erkannt werden, loggt man sich auf das Linux-System ein und verwendet dann folgenden Befehl, um den regulären Ausdruck zu testen:

$ monit procmatch "homebridge$"

0 Prozesse. Herrje! Dabei müsste das doch anschlagen:

$ ps ax | grep -i homebridge
12345 pts/1    S+     0:00 grep --colour=auto -i homebridge
98765 ?        Sl     1:25 homebridge
43210 ?        Sl     0:13 homebridge-config-ui-x

Schlussendlich brachte ich den Check folgendermassen zum Laufen:

check process homebridge matching "homebridge\s*$"

Aus irgendeinem Grund scheint der Prozessname von einem Leerzeichen, Tabulator oder dergleichen gefolgt zu werden.

Nebenbemerkung: Wieso ich überhaupt einen regulären Ausdruck verwende? Weil ich manchmal zu Debuggingzwecken auf den Linux-Server einlogge und folgendes Kommando ausführe:

$ tail -f /var/log/homebridge.log

Wenn man monit nun die Prozesse nach „homebridge“ durchsuchen lässt, wird tail von monit als homebridge-Prozess erkannt, und das abgestürzte Homebridge eben nicht neu gestartet, solange der Befehl läuft.

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 7. Mai 2020

Der Mai 2020-Song (von … Juli)

Lyrics

Tags: , , , , , , , , ,
Labels: Funny, Gesundheit

Keine Kommentare | neuen Kommentar verfassen