Archiv verlassen und diese Seite im Standarddesign anzeigen : Gucken ob ein Prozess noch läuft (UNIX, JAVA)
Ich will ein Java Programm machen das wenn es gestartet wird überprüfen soll ob ein bestimmtes Programm noch läuft. Wenn ja soll es mit kill -9 gekillt werden.
Mein Problem ist wie überprüfe ich am besten das in
ps -aef |grep dasProgramm
das Programm noch da ist?
Bitte nur in Java.
Danke in voraus
peschmae
27-08-2004, 10:34
Wieso in Java? Warum nicht einfach "killall -9 <programmname>"?
MfG Peschmä
weil das Java Programm dazu da ist zu überprügen und sicherzustellen ob ein anderes Programm richtig und sorgfältig runtergefahren ist.
Wenn nicht killt das Programm das andere Programm mit kill -9 und schreibt in der Logfile Programm ist nicht Ordnunggemäss runtergefahren
Und meine Frage ist wie kann ich denn Befehl ps -aef|grep MeinProgramm
in einen String reintun und dann überprüfen?
So habe ein komisches Problem gefunden
Process proc = Runtime.getRuntime().exec(ps -aef);
geht supa
aber
Process proc = Runtime.getRuntime().exec(ps -aef |grep lala);
geht nicht.
Warum? Kann java das | nicht???
peschmae
27-08-2004, 12:44
Genau, die Pipe ist ein Konstrukt das von der Shell implementiert wird - und mit getRuntime().exec() augeführte Programme laufen normalerweise nicht inner shell.
Deshalb eher sowas in die Richtung:
Process proc = Runtime.getRuntime().exec("bash -c \"ps -aef |grep lala\"");
Geht wohl auch nicht weil vermutlich der StringTokenizer der da automatisch drüberläuft die Sache nicht korrekt auseinandernimmt. Also musst du wohl ein String[] übergeben mit jeweils "bash" "-c" und "ps -aef | grep lala" als Arrayelemente.
MfG Peschmä
ok danke so geht es.
Wie kann ich jetzt in einem String nachgucken obdas Wort:
Auto
und
2158
drinne sind?
Aber nur wenn die Beide da drinne gefunden sind muss es ein True geben.
peschmae
27-08-2004, 13:34
Mit Regexps geht das - Java kann das mittlerweile.
Wie die entsprechende Methode genau heisst weiss ich nicht sicher, ich glaube "match()" (in der String-Klasse natürlich)
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.