Checken ob ein Prozess läuft!

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von MindCode, 08.10.2009.

  1. #1 MindCode, 08.10.2009
    MindCode

    MindCode Grünschnabel

    Dabei seit:
    08.10.2009
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo,

    ich möchte gerne ein Script schreiben, welches mir aussage darüber geben kann, ob ein bestimmter Prozess läuft oder nicht.
    (Dabei handelt es sich um den Shoutcast Server [Internet Radio Stream])

    Wenn ich da Script ausführe, soll mir das Script erzählen ob der Prozess (sc_serv) läuft.

    Nach ewigem googeln bin ich auf die Idee gekommen, dass ich ja folgendes machen könnte:

    Code:
    ps u >> sc_servcheck
    
    if [ "$(cat sc_servcheck)" = "sc_serv" ]; then
    
    echo "JA"
    else
    echo "NEIN"
    
    fi
    

    Ja, das war zwar ne nette Idee, hat aber nicht geklappt :-(
    Ich bekomme immer mein else obwohl der String "sc_serv" in der Datei "sc_servcheck" drin ist :-(

    Lg,
    Philipp
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 root1992, 08.10.2009
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    probiers mal in dieser richtung

    ps aux | grep $prozess
    if [ $? = 0 ];then
    echo "OK"
    fi

    aber guck auch weil wenn du das so machst bekommst du evtl den eintrag von grep selbst mit rein also am besten frägst du die PID von grep noch ab und machst ne Bedingung, dass mindestens ein Prozess ohne der PID gefunden wird.


    EDIT:

    Oder vll ist es in deinem Fall gut einen Dämon zu schreiben, wenn du das Programm beim start gleich laufen lassen willst.
    Oder alternativ einfach ein startskript, das dein Programm startet und die PID von deinem Programm in eine Datei schreibt und du checkst einfach nur ob die PID noch läuft.
     
  4. #3 floyd62, 08.10.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Schon mal etwas wie
    Code:
    if ps -eo comm | grep sc_serv; then
        echo "läuft"
    else
        echo "läuft nicht"
    fi
    
    probiert?

    Gruss, A.
     
  5. #4 MindCode, 08.10.2009
    MindCode

    MindCode Grünschnabel

    Dabei seit:
    08.10.2009
    Beiträge:
    3
    Zustimmungen:
    0
    WoW - Alles klar das funktioniert ;)
    Allerdings habe ich dann als Output dann jenes hier:

    Code:
    sc_serv
     +++ Shoutcast server is running +++
    
    Wie krieg ich jetzt das "sc_serv" da weg?
    Gibts da nich n silence mode?
     
  6. #5 root1992, 08.10.2009
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Du musst die Ausgabe umleiten. Z.B. mit
    > /dev/null
    also das einfach nach dem grep Befehl (mit Suchwort)

    EDIT sieht dann so aus:

    if ps -eo comm | grep sc_serv > /dev/null; then
    echo "läuft"
    else
    echo "läuft nicht"
    fi

    mit > leitest du die Ausgabe um.
     
  7. #6 MindCode, 08.10.2009
    MindCode

    MindCode Grünschnabel

    Dabei seit:
    08.10.2009
    Beiträge:
    3
    Zustimmungen:
    0
    Ahhh dankeschön :-)
    Habt mir sehr geholfen...

    /dev/null

    das kenn ich irgendwo her, was isn das? das nirvana?
     
  8. #7 root1992, 08.10.2009
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Jap das ist sozusagen das nirvana ;)
    mit 2> leitest du Fehlerausgaben um also wenn du ein Programm aufrufst und willst keine Fehler sehen dann leitest du stderr um.
    Mit > kannst dus auch in eine Datei umleiten.
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Nur noch ne kleine Anmerkung:
    ließe sich zu
    Code:
    pgrep sc_serv
    vereinfachen. (Das mit den Prozessen gabs hier schon ziemlich oft ;)
     
  11. #9 linopolus, 08.10.2009
    linopolus

    linopolus Jungspund

    Dabei seit:
    27.06.2009
    Beiträge:
    16
    Zustimmungen:
    0
    Ort:
    /home/linopolus
    Dafür gibt's doch ne in ps direkt integrierte Lösung:
    Code:
    ps nc -C PROZESSNAME
    Das liefert 0 zurück, wenn der Prozess läuft, und 1 wenn dem nicht der Fall ist. Ließe sich also bequem per
    Code:
    ps nc -C BLA && TUWASWENNJA || TUWASWENNNEIN
    auswerten
     
Thema: Checken ob ein Prozess läuft!
Besucher kamen mit folgenden Suchen
  1. zimmer checken als prozess

Die Seite wird geladen...

Checken ob ein Prozess läuft! - Ähnliche Themen

  1. festplatte auf defekte sektoren checken und ggf. reparieren

    festplatte auf defekte sektoren checken und ggf. reparieren: hallo zusammen, an meinen iomega-nas habe ich zusätzliche eine externe hd per usb angeschlossen. nun scheint es so zu sein, dass diese defekte...
  2. NVIDIA TV-OUT Einstellungen checken

    NVIDIA TV-OUT Einstellungen checken: Ich hab mir einen WohnzimmerPC zusammengebastelt und möchte nun den Fernseher über TV-Out ansprechen (es soll kein weiterer Monitor angeschlossen...
  3. Festplatte checken?

    Festplatte checken?: Gibt's eigentlich so etwas wie Scandisk (win-tool) auch für Linux. Also um die Festplatte mal auch physikalisch durchzuchecken? ?( Habe ich mich...
  4. GPL-Prozess gegen VMware hat begonnen

    GPL-Prozess gegen VMware hat begonnen: Der von Christoph Hellwig angestrengte Prozess gegen VMware wegen vermuteter GPL-Verletzung begann vor dem Landgericht Hamburg mit einer Anhörung....
  5. Wine überarbeitet Entwicklungsprozess

    Wine überarbeitet Entwicklungsprozess: Alexandre Julliard, langjähriger Maintainer des Wine-Projektes, hat Änderungen bei der Freigabe der künftigen Varianten des Windows-API-Nachbaus...