簡體   English   中英

Java Kill進程以ProcessBuilder開始

[英]Java Kill processes started with ProcessBuilder

我正在運行這樣的流程:

builder = new ProcessBuilder("/bin/bash", "-c", "./MessageGenerator | ./SimpleEchoServer");
process = builder.start();

然后process.destroy()或forciblyDestroy()不起作用。 是因為我正在使用煙斗嗎? 我該如何殺死這些進程?

你還應該拆分管道命令。 我寫了一個小例子:

package com.company;

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException, InterruptedException {
        ProcessBuilder processBuilder;
        String line;
        processBuilder = new ProcessBuilder("/bin/bash", "-c", "ls -l", "|", "grep java");
        Process process = processBuilder.start();
        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        while ((line = reader.readLine()) != null) {
            System.out.println ("Stdout: " + line);
        }
        Thread.sleep(10000);
        process.destroy();
    }
}

暫無
暫無

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

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