簡體   English   中英

如何殺死從我的Java應用程序啟動的cmd進程?

[英]How to kill a cmd process which was started from my java application?

我正在從Java應用程序啟動zookeeper和Kafka服務器。

如果我嘗試使用destroyForcibly()方法殺死這些進程,則不會發生任何事情。 -我嘗試同時使用destroy()destroyForcibly()方法,但似乎都無法使用。

Process p1 = Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/zookeeper-server-start.bat",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/zookeeper.properties"});


Thread.sleep(3000);

Process p2 = Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/kafka-server-start.bat",
    "C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/server.properties"});


Thread.sleep(5000);

p1.destroyForcibly();
p2.destroyForcibly();

是否可以通過編程方式關閉cmd進程?

嘗試

Process p1 = new ProcessBuilder("C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/bin/windows/zookeeper-server-start.bat",
"C:/kafka_2.11-2.1.0/kafka_2.11-2.1.0/config/zookeeper.properties")
            .redirectOutput(ProcessBuilder.Redirect.DISCARD)
            .redirectError(ProcessBuilder.Redirect.DISCARD)
            .start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM