15.06.2025, 12:35
"ps ax" gibt die aktiven Prozesse aus. Im Idealfall, wenn beide Regionen laufen, kommt der String "OpenSim.dll" dort zweimal vor.
Leider kommt der String dort immer noch vor, wenn eine Instanz von OpenSim nicht läuft. Das hat erst mal noch gar nichts mit dem Inhalt in den Schleifen zu tun. Wenn mindestens eine Instanz von OpenSim läuft, dann ist im zweiten Script die Bedingung " -z "$running" " nicht mehr erfüllt, weil ja die andere Instanz vom anderen Script schon gefunden wird.
Was jetzt nötig ist, ist ein Kriterium, das erkennt, ob die richtige Instanz von OpenSim schon/noch läuft, nicht ob irgendeine Instanz von OpenSim läuft. Am besten startest du beide Regionen manuell, rufst "ps ax" manuell auf, und versuchst in der Ausgabe irgendwas zu erkennen, woran du die passende Instanz erkennen kannst. Falls ja, kannst du relativ einfach das `ps ax|grep OpenSim.dll|grep -v grep` anpassen mit einer neuen Logik.
Leider kommt der String dort immer noch vor, wenn eine Instanz von OpenSim nicht läuft. Das hat erst mal noch gar nichts mit dem Inhalt in den Schleifen zu tun. Wenn mindestens eine Instanz von OpenSim läuft, dann ist im zweiten Script die Bedingung " -z "$running" " nicht mehr erfüllt, weil ja die andere Instanz vom anderen Script schon gefunden wird.
Was jetzt nötig ist, ist ein Kriterium, das erkennt, ob die richtige Instanz von OpenSim schon/noch läuft, nicht ob irgendeine Instanz von OpenSim läuft. Am besten startest du beide Regionen manuell, rufst "ps ax" manuell auf, und versuchst in der Ausgabe irgendwas zu erkennen, woran du die passende Instanz erkennen kannst. Falls ja, kannst du relativ einfach das `ps ax|grep OpenSim.dll|grep -v grep` anpassen mit einer neuen Logik.