# Prüfen ob Befehl ausgeführt wurde moeglich?



## java66 (4. Sep 2009)

Hallo zusammen,

habe eine Frage ist es moeglich aus Java heraus einen bsp.(UNIX Befehl) den ich vom Client aus auf dem Server ausführe zu prüfen ob der richtig ausgeführt wurde? also einen rückgabewert zu bekommen...

bsp. 
wenn ich ein Prozess kill mache unter unix
moechte ich ja wissen ob dieser Prozess nun gekillt ist oder nicht?

Danke für jeden Tip

mfg
rome


----------



## java66 (4. Sep 2009)

meine Idee wenn das so nicht klappen sollte ist es dem Server ein Datenpaket zu schicken dort den status der programm rein schreiben zurück schicken und auswerten.
Aber es muss doch mit weniger traffic gehen oder ???
Oder bin ich total auf dem falschen dampfer

Ziel ist es.
Ein script(UNIX/LINUX oder Batch....) auszuführen und zu prüfen ob es so gearbeitet hat wie ich es wollte.
Habt ihr vileicht ideen für eine alternativ lösung??


----------



## Michael... (4. Sep 2009)

java66 hat gesagt.:


> ist es moeglich aus Java heraus einen bsp.(UNIX Befehl) den ich vom Client aus auf dem Server ausführe zu prüfen ob der richtig ausgeführt wurde?


Wie führst Du denn den Befehl aus Java heraus aus?


----------



## java66 (5. Sep 2009)

das hab ich noch nicht gemacht es geht mir noch um die moeglichkeit.
Das man die befehle ausführen kann hab ich schon heraus gefunden aber noch nicht gemacht muss noch das system bei mir Simulieren.
Im moment geht es mir nur darum heraus zu finden ob jemand schonmal sowas in der richtung gemacht hat und tips und tricks für mich hat


----------



## DocRandom (11. Sep 2009)

...guckst Du hier im Inselbuch unter 10.6 Ausführen externer Programme und Skripte

lg


----------



## tuxedo (11. Sep 2009)

Du stellst dich an:

Nimm RMI/SIMON/etwas vergleichbares und sende damit das "Kill-Signal" vom Client zum Server (Client ruft selbst kreierte Methode auf dem Server auf, z.B. 
	
	
	
	





```
public boolean killPID(int pidToKill);
```
).

Der Server führt darauf hin den System-Befehl aus um den Prozess abzuschießen. Dann führt er einen zweiten Systembefehl aus, mit dem er nachschau ob der Prozess, der abgeschossen werden sollte nicht mehr in der Prozessliste auftaucht. 

Ist der Prozess tatsächlich weg, lieferst du als Return-Wert für den "Remote Procedure Call" ein TRUE zurück. Wenn nicht eben ein FALSE.

Schlage vor du bastelst dir mal nen Prototyp statt alles in der Theorie bis ins kleinste Detail zu überlegen und dann doch nicht zu wissen wie und ob's funktioniert.

- Alex


----------



## java66 (14. Sep 2009)

Danke für die antworten,

werde wie bereits wie gesagt einen prototypen basteln und dann weiter schauen.
THX

Ps.: 
meine Frage war ob es funktioniert wenn ich es wüsste würde ich nicht fragen oder was denkst du?


----------



## tuxedo (14. Sep 2009)

Okay, hier nochmal die kurzform:

Der geschilderte Problemfall ist so simple dass es dafür gleich ein ganzes dutzend mögliche Lösungen gibt. Und wenn ich nochmal 5min drüber nachdenke fällt mir mit sicherheit ein weiteres dutzend ein.

Ist sogesehen also nicht weiter der Rede wert wenn man sich auch nur etwas mit programmierung auskennt. 

- Alex


----------



## java66 (14. Sep 2009)

freut mich das zu hören:applaus::toll::toll:du hast es drauf


----------



## tuxedo (14. Sep 2009)

Nein, im ernst. Die Frage könnte fast aus der gleichen Schublade stammen wie "Ich kann mit Java etwas auf dem Bildschirm ausdrucken. Kann ich auch etwas eingeben?".

Wenn man mit Java externe Prozesse starten kann (das hast du ja schon selbst herausgefunden), dann kann man auch externe Prozesse starten die schauen ob ein anderer, zuvor gestarteter Prozess das getan hat, was er hätte tun sollen (also in dem Fall ein Programm abschießen). 

In diesem Sinne,

frohes Prototyp bauen ...


----------



## chillerMo (15. Sep 2009)

mhhh gibt es solche befehle auch für jar files, also das ausführen von btns und das zugreifen auf oberflaechen Elemente???


----------



## tuxedo (15. Sep 2009)

Du musst schon etwas präziser werden was du mit deiner Frage meinst. So hat hier wohl keinen nen genauen Plan was du uns sagen willst. Und mutmaßen und dann antworten ist selten das gelbe vom Ei.

- Alex


----------



## andre111 (15. Sep 2009)

Meinst du ein Programm das ein anderes Programm (die .jar) steuert???


----------



## java66 (30. Sep 2009)

genau das waere meine zweite frage gewesen.
sorry wegen der späten antwort war in der sonne  danke


----------



## tuxedo (30. Sep 2009)

Wenn ein Java-programm ein anderen Programm via Mausklicks etc. fernstern soll, dann gibts dafür die Robot-Klasse (google hilft). Damit kannst du die Maus per Java-Code an eine bestimmte Stelle auf dem Bildschirm bewegen und einen Klick auslösen. 

Das auffinden des Button musst du allerdings selbst erledigen. Entweder du weißt wo der Button auf dem Bildschirm sitzt, oder du musst eine Bilderkennung durchführen um an die Koordinaten zu kommen. Aber das würde ich als "Advanced Feature" einstufen das von einem Anfänger nicht zu bewerkstelligen ist.

- Alex


----------



## java66 (30. Sep 2009)

ok danke für deine hilfe, 
muss wohl anders ins ziel finden.

trotzdem danke für die hilfe


----------

