Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Sim Start | Stop script
#4
Wow … danke für das Lob – und vor allem danke für eure Reaktionen!

Ich habe mir alles noch mal in Ruhe angeschaut und das Script direkt an den zwei wichtigen Stellen nachgebessert. Danke auch für den Hinweis mit der Warteschleife – da kam bei mir im „Bauscript“ tatsächlich bei jedem Zyklus eine Ausgabe. Das habe ich jetzt sauber gelöst.
Man sieht jetzt klar, dass das Script noch arbeitet und nicht hängt.

Hier nur kurz zur Info die neue Warteschleife:

Code:
# ----------------------------
    # Warte Zyklus auf sauber Stop
    # ----------------------------
    log_info "Warte auf sauberen Shutdown (max. ${STOP_MAX_WAIT_SEC}s)"

    elapsed=0
    loops=$(( STOP_MAX_WAIT_SEC / STOP_CHECK_INTERVAL ))
    progress_counter=0

    for ((i=1; i<=loops; i++)); do
        sleep "${STOP_CHECK_INTERVAL}"
        elapsed=$(( elapsed + STOP_CHECK_INTERVAL ))
        progress_counter=$(( progress_counter + 1 ))

        # Prozess beendet?
        if [[ ! -d "/proc/${PID}" ]]; then
            log_ok "Prozess nach ${elapsed}s sauber beendet"
            break
        fi

        # Fortschrittsmeldung
        if (( progress_counter % STOP_PROGRESS_EVERY == 0 )); then
            remaining=$(( STOP_MAX_WAIT_SEC - elapsed ))
            log_info "Shutdown läuft … ${elapsed}s vergangen, ${remaining}s verbleiben"
        fi
    done

    if [[ -d "/proc/${PID}" ]]; then
        log_warn "Prozess reagiert nicht nach ${STOP_MAX_WAIT_SEC}s – hartes KILL"
        kill -9 "${PID}"
    else
        log_ok "Instanz sauber gestoppt"
    fi

    rm -f "${PID_DATEI}"

Wie man sieht, sind das jetzt alles Variablen, die oben im Kopf definiert werden:

# -----------------------------
# Stop-Wartezeiten
# nur hier die Wartezeiten
# einstellen / ändern
# -----------------------------
STOP_MAX_WAIT_SEC=300 # max. Wartezeit auf sauberen Stop (300 = 5 Minuten)
STOP_CHECK_INTERVAL=10 # Prüfintervall in Sekunden
STOP_PROGRESS_EVERY=2 # alle X Durchläufe Fortschritt in der Konsole anzeigen


So kann man die Zeiten zentral anpassen, ohne im Script suchen zu müssen.

Das mit dem doppelten „Robust“ – ja, unschön !!!
Ist ein Überbleibsel vom Umbau, habe ich aber direkt geradegezogen. War mehr optisch störend als funktional kritisch.

Zum Thema screen: Danke für den Hinweis, da gehe ich noch mal sauber ran. Bei mir ist an der Stelle seit Jahren nichts passiert, aber ihr habt recht – sicher ist sicher. Ich baue da noch eine zusätzliche Rückversicherung ein, damit wirklich das richtige Screen-Fenster getroffen wird.

Ganz wichtig noch zu meiner Philosophie:
Passwörter gehören nicht ins Script. Gerade bei MySQL ist es ja sauber lösbar über eine .my.cnf im Home-Verzeichnis des Benutzers – so wie ich es im Beispiel beschrieben habe. Das ist für mich der deutlich bessere Weg.

Unterm Strich ist es ein bewusst schlankes Script, das vor dem Start alle wichtigen Punkte prüft und dann den Simulator sauber startet.

Für die nächste Version werden Start und Stop als separate, gekapselte Funktionen umgesetzt. Mit eigener Rückversicherung, ob der Vorgang wirklich erfolgreich war – und natürlich weiterhin mit zentral definierten Zeit-Variablen im Kopfbereich.

Danke euch auf jeden Fall für das Feedback – und ich freue mich schon, euch die nächsten Verbesserungen zu zeigen ! Wink
niemand ist eine Insel, und Selbsthilfe heißt nicht sich nur um sich zu kümmern. www.vamp-berlin.de www.grid-berlin.de
[-] The following 2 users say Thank You to Gau Hax for this post:
  • Akira, Dorena Verne
Zitieren


Nachrichten in diesem Thema
Sim Start | Stop script - von Gau Hax - 10.02.2026, 06:01
RE: Sim Start | Stop script - von Dorena Verne - 10.02.2026, 08:59
Sim Start | Stop script - von Akira - 10.02.2026, 12:50
RE: Sim Start | Stop script - von Gau Hax - Gestern, 09:32

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Automatische Einstellung einer IP beim Start von OpenSim royalgrid 6 3.001 26.03.2024, 14:31
Letzter Beitrag: Manfred Aabye
  Database Cleanup Script [OpenSim 0.9.x] bimbam2103 29 33.648 15.05.2019, 10:54
Letzter Beitrag: Manfred Aabye
  start stop bash shell scripte Manfred Aabye 0 3.185 17.01.2019, 17:37
Letzter Beitrag: Manfred Aabye
  GitRepo OpenSim installieren per Script unter Debian Bogus Curry 0 4.992 11.12.2016, 23:19
Letzter Beitrag: Bogus Curry
  Start Region Rebecka Alder 3 7.937 02.04.2016, 15:11
Letzter Beitrag: Dorena Verne

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste