Wie nah Laufenden Prozess mit java?
Ich bin mit java Runtime.exec () - Methode zum ausführen von bat-Datei in die bat-Datei habe ich einen code schreiben, ausführen jar.Diese jar-Datei enthalten eine thread-Klasse, das pooling unendliche Zeit, die rabbitmq Warteschlange,wenn diese Nachricht gefunden werden, dann führen den Betrieb, auf, dass,meine, der Prozess läuft unendlich. ich will töten, diesen Prozess mit Hilfe von java-code,auch ich will wissen, dass diese Methode in der Lage sind zu führen sind-Skript auf Linux-Os.
**Used java code**
String myCMD = "cmd.exe /C start c:\\elasticmgmtservice.bat";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(myCMD);
**used batch file**
cd c:
cd ElasticMgmtService\
java -jar ElasticIndexManagementService.jar config\ElasticIndexManagementService.xml
mir bitte helfen das problem zu lösen.
Sie können nicht führen Sie eine batch-Datei auf Linux, stellen eine spezifische version, oder schreiben Sie den Stapel in Java! Um den Prozess zu beenden, nehmen Sie einen Blick an stackoverflow.com/questions/6356340/...
InformationsquelleAutor Sameek Mishra | 2012-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laufzeit.exec(...) liefert
Process
Objekt, welches aus folgenden Methodenkönnen Sie rufen Sie destroy (), womit der Teilprozess. Der Teilprozess, dargestellt durch dieses Prozess-Objekt wird gewaltsam beendet.
oder Sie töten kann, durch die übergabe
taskkill /PID <process id>
imRuntime.exec(...)
oderkill -9 <process id>
ich habe überprüft "cmd.exe /C start mspaint.exe" ist in Ordnung arbeiten mit destroy(). Tatsächlich gibt es einige Verfahren sind diejenigen, die nicht reagiert destroy-Methode. ist es besser, Sie in der Nähe von "taskkill" oder "töten".
wenn ich den folgenden code mit destroy-Methode und "taskkill" oder "töten", es wird nicht geantwortet, dass es nicht den Prozess zu beenden, wenn ich versuche zu töten manuell aus der Prozess-Liste zeigen Sie die java.exe Prozess wenn ich kill diesen Prozess manuell beendet erfolgreich.ich Verstand nicht, was passiert,wenn u eine Idee haben, bitte sagen Sie mir.
wht ich denke, es könnte irgendein anderes problem. kann u bitte versuchen Sie es - Process p = Runtime.getRuntime().exec("cmd.exe /C start mspaint.exe"); p.destroy(); wenn es nicht funktioniert, dann ist das andere problem. Ursache obigen code laufen gut in meinem system.
versucht aber beim destroy-Methode aufgerufen, die mspaint von windows nicht geschlossen auf meinem PC und was ist mit eurer Seite geschlossen oder nicht?
InformationsquelleAutor Subhrajyoti Majumder
In Windows
In Linux
InformationsquelleAutor Diego D
Runtime.exec()
gibt ein Process-Objekt, das eine Prozedur für den Prozess der exec-Methode erstellt hat. Um den Prozess zu beenden, müssen Sie rufenProcess.destroy();
InformationsquelleAutor Alexis Dufrenoy