Prüfen ob Befehl ausgeführt wurde moeglich?

Status
Nicht offen für weitere Antworten.

java66

Aktives Mitglied
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
 
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??
 
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
 
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.
Code:
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
 
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?
 
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
 
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 ...
 
mhhh gibt es solche befehle auch für jar files, also das ausführen von btns und das zugreifen auf oberflaechen Elemente???
 
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
 
genau das waere meine zweite frage gewesen.
sorry wegen der späten antwort war in der sonne 😉 danke
 
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
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben