Daher muss ich Umgebungsvariablen zwischen Shells austauschen und sicherstellen, dass die Änderungen an den Variablen von allen Shells wie globalen Variablen sofort erkannt werden. Sie müssen sich jedoch auf eine Master-PID beziehen, damit zwei Shell-Skripte ausgeführt werden können, von denen jedes ein Master mit demselben globalen Variablennamen ist. Untergeordnete Elemente ändern nur die Variable, die sich auf ihre Master-PID bezieht.
Ich benutze bash
für Skripte.
Meine aktuellen Forschungen sind folgende:
Module, die
ich gelesen habe, könnte ich dafür ein Modulprojekt verwenden: http://modules.sourceforge.net/ , aber ich habe große Probleme damit, es scheint, es fehlen Beispiele? Auch "Module" ist ein zu allgemeines Wort, über das man nur schwer googeln kann, weil es sich mit vielen anderen Dingen vermischt. Nach einigen Wochen sind meine Hände immer noch leer.
Einfache Textquelldatei
Ich lese auch Ich sollte eine einfache Textdatei zum Speichern / Aktualisieren / Lesen von Variablen als Quellskriptdatei verwenden, flock
um gleichzeitiges Schreiben zu vermeiden. Diesbezüglich gibt es jedoch Probleme, wie die gleichzeitige Änderung der Variablen um zwei Schalen.
Alternativ ist
mir bekannt, dass nach dem Lesen einer "globalen" Variablen durch die Shell dieser Wert beibehalten wird, bis ein weiterer Lesevorgang durchgeführt wird. und eine andere Shell kann es in der Zwischenzeit auch ändern ... Kann
eine sehr schnelle externe Anwendung einen solchen Speicher bereitstellen, und wir würden dann nicht versuchen, Umgebungsvariablen als globale Variablen zu verwenden? Aber ich vermute, dass jede SQL-Lösung zu langsam sein wird ...
ln -s realfile lockfile
Fail-Exit-Status tun genau das, was Sie gesagt haben: "Warte ein paar Mili ...". Ohne Sperre warten sie nicht auf den Versuch, ein Update durchzuführen. Dieser gleichzeitige Aktualisierungsversuch weist jedoch einen Fehler auf. Ein Prozess kann das neueste Update des anderen Prozesses überschreiben. Ich muss noch einen Testfall vorbereiten, um daran zu arbeiten ...