Archiv verlassen und diese Seite im Standarddesign anzeigen : [Bash] Abfrage ob Programm läuft
BenNavis
01-09-2004, 11:01
HI,
ich möchte in einem Shell-Skript abfragen, ob pppd läuft.
Wie macht man das am besten?
Danke euch,
Ben
peschmae
01-09-2004, 14:28
if $(ps -e | grep -q "pppd$"); then
echo iiiiiiii der läuft ja
fi
MfG Peschmä
BenNavis
01-09-2004, 15:03
Danke, das ist super!
Vielleicht kannst Du mir ja nochmal weiterhelfen.
Ich möchte per Skript testen, ob ein Ping möglich ist. Leider ist der normale Rückgabewert dafür ungeeignet.
Kann man das auch irgendwie in ein if einbauen?
Sowas wie "wenn ping von www.xyz.org "erfolgreich", dann..., sonst...
EDIT: Müsste es nicht gehen mit:
if $(ping -c 10 www.heise.de | grep -q "unknown host"); then
echo "network unreachable"
fi
?
Wenn ich meine Verbindung trenne und das Skript dann ausführe, bekomme ich nicht das echo ausgegeben, sondern die Zeile von Ping (ping: unknown host...)
Ben
peschmae
01-09-2004, 20:32
Ping gibt Fehler wie die meisten anderen Programme nach Stderr aus. Durch die Pipe geleitet wird aber der Stdout. Stderr nach Stdout umleiten geht mit 2<&1
if $(ping -c 10 www.heise.de 2<&1 | grep -q "unknown host"); then
echo "network unreachable"
fi
Allerdings glaube ich dass die Rückgabewerte für den Zweck durchaus geeignet sind. Problem gelöst
if $(ping -c 1 www.gmx.ch &>/dev/null); then
echo ok
else
echo nicht ok;
fi
MfG Peschmä
BenNavis
02-09-2004, 10:29
Ping gibt Fehler wie die meisten anderen Programme nach Stderr aus. Durch die Pipe geleitet wird aber der Stdout. Stderr nach Stdout umleiten geht mit 2<&1
Wieder was gelernt, danke! :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.