2016-06-05 13 views
-2

Ich muss eine Java App schreiben, in der ich mehrere .bat Dateien habe, die in Endlosschleifen laufen. Ich habe 4 von ihnen, und nur einer von ihnen kann auf einmal laufen. Ich brauche die anderen 3.Stoppen von .bat Dateien dynamisch mit Java

So etwas wie

ifcondition

  • stoppen die anderen 3 .bat Dateien (auch normalerweise eine von ihnen zu stoppen laufen würde, aber nicht wissen, welche, ich versuche, Stoppen Sie alle 3);
  • starten Sie die .bat Datei, die die Bedingung erfüllt.
  • wenn andere Bedingung einer anderen .bat Datei erfüllt ist, die anderen 3 (wiederum ein tatsächlich) würde + diese .bat Datei gestoppt werden beginnt (Endlosschleife) läuft

ich, wie man am kämpfen, um Stoppen Sie diese .bat Dateien von meinem Java-Code ... gibt es etwas, das ich in der Befehlszeile verwenden kann, um eine bestimmte .bat Datei von laufen zu stoppen, durch Namen oder etwas zu identifizieren? Weil ich Befehle von cmd über Java ausführen kann, weiß ich, wie es geht.

+0

Führen Sie diese Bat-Dateien aus derselben Java-Anwendung aus? – AlexR

+0

ja, gleiche Anwendung. Ich habe so etwas mit einem Raspi + Shell Scripts gemacht .. Ich möchte so duplizieren, um zu sagen, was ich dort gemacht habe. Laufzeit rtLeft = Runtime.getRuntime(); \t \t \t rtLeft.exec ("sudo killall middle.sh"); Ich brauche etwas ähnliches – 123123d

Antwort

0

Sorry für die Verzögerung: Ich war sehr beschäftigt.

Im Allgemeinen, wenn Sie von externen Java-Prozess ausführen (Ether Runtime.exec() oder ProcessBuilder verwenden) Sie Bezug auf die Instanz von java.lang.Process erhalten, die destroy() Methode hat. Der Aufruf dieser Methode entspricht kill -9 PID in Unix.