Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Prozessüberwachung

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.07.2001
    Ort
    Wien
    Beiträge
    90

    Prozessüberwachung

    Ich bin auf der suche nach einem Skript, welches es ermöglicht einen Prozess zu überwachen (d.h. ob ein Daemon noch läuft, oder beendet ist), welches im Fall das der Daemon nicht mehr läuft a) eine Mail schickt und b) den Daemon mittels init.d-skript neu startet. Also quasi so was auf die Art wie supervise aus den Daemontools von DJB (wobei mir daran nicht gefällt, dass ich einen großteil meines systems durch DJB-Programme ersetzen müsste).

    Am liebsten wäre mir ein Perl-Skript oder C-Programm. Ah ja, es sollte unter Linux laufen

    Vielleicht hat ja wer was auf die Art irgendwo? Sonst muss ich halt selber schreiben, aba mir fehlt im Moment noch der Ansatz zur Überwachung, ohne ein
    Code:
    while(1) { ps aux | grep }
    zu machen.....
    Diese Message wurde erstellt mit freundlicher Unterstützung eines frei-
    laufenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert
    frei von Micro$oft'schen Viren.

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich hab das mal so gemacht.

    in einem einfachen BASH script, wird über
    Code:
    #/bin/bash
    N=$(ps aux | grep daemon | grep -cv grep)
    if [ $N -eq 0 ];
    then
    echo start again
    else
    echo running
    fi
    Das läßt du dann mittels cron job aufrufen.

    Ciao,
    _

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.07.2001
    Ort
    Wien
    Beiträge
    90
    danke. hab das mal übernommen, wobei ich mir performancemäßig was besseres vorstellen könnte, als von cron jede minute die bash mit diesem skript zu forken. Naja, immer noch performanter als perl, und für meine zwecke vollauf ausreichend
    Diese Message wurde erstellt mit freundlicher Unterstützung eines frei-
    laufenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert
    frei von Micro$oft'schen Viren.

  4. #4
    Moderator Avatar von geronet
    Registriert seit
    24.05.2001
    Ort
    Grainau
    Beiträge
    96
    Hmm es gibt ja auch watchdog-Hardware-Karten, die überprüfen ständig ob der Rechner noch das macht was er soll.
    Ich hab auch gehört oder bei freshmeat.net irgendwann einen Daemon gesehen, der sowas ähnliches macht.

    Einfach mal nach "watchdog" suchen.

    Grüsse, Stefan

  5. #5
    Fox
    Gast
    Hallo,
    mein Problem ist ähnlich gelagert, allerdings doch ein bisschen anders:

    Hintergrund: Alle X-Minuten prüft ein Skript, ob der Rechner das tut, was er soll.
    Dieser Test kann jedoch so lange dauern, dass eine zweite Instanz des Skriptes starten könnte (ist halt schon passiert).

    Problem: Ein Skript - welches durch cron gestartet wird - soll testen, ob die im vorherigen cron-Lauf gestartete Instanz noch vorhanden ist (das Skript also noch läuft). Wenn ja, beendet es sich selbst und überläßt die Arbeit dem Vorgänger.

    Lösungsansatz: Ich habe mittels ps und grep versucht, die Anzahl der Prozesse zu ermitteln. Nun ist es aber so, dass diese Zahl scheinbar unterschiedlich ist!

    Beispiel: Gesucht wird mittels ps ax | grep $0 | grep -c -v grep welches die Anzahl der gefundenen Zeilen, hier also drei ergibt, obwohl KEIN Vorgänger mehr arbeitet.
    Ohne das -c zeigt es:
    14592 ? S 0:00 /bin/sh -c /etc/cron.d/bla.sh >/dev/null 2>&1
    14595 ? S 0:00 /bin/bash /etc/cron.d/bla.sh
    14606 ? S 0:00 /bin/bash /etc/cron.d/bla.sh

    Bei einem manuellen Aufruf ergibt es aber ein anderer Ergebnis, da dann nur eine Zeile (also ein Prozess) gefunden wird.

    Das hat wahrscheinlich mit cron zu tun, oder?
    Wenn ja, wie kann ich das Problem anders angehen?

    Besten Dank für deine Zeit!

  6. #6
    Registrierter Benutzer
    Registriert seit
    29.07.2001
    Ort
    Wien
    Beiträge
    90
    überprüfe ob eine $0.pid datei existiert. falls ja beende. falls nein: anlegen, script ausführen, löschen.
    Diese Message wurde erstellt mit freundlicher Unterstützung eines frei-
    laufenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert
    frei von Micro$oft'schen Viren.

  7. #7
    Fox
    Gast
    Manchmal sind die einfachsten Ideen zu weit weg.

    Vielen Dank!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •