【问题标题】:Java Kill processes started with ProcessBuilderJava Kill 进程从 ProcessBuilder 开始
【发布时间】:2016-09-05 10:37:33
【问题描述】:

我正在像这样运行我的进程:

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

然后 process.destroy() 或 forceDestroy() 不起作用。是因为我用的是管道吗?我怎样才能杀死这些进程?

【问题讨论】:

    标签: java unix process processbuilder


    【解决方案1】:

    您还应该拆分管道命令。我写了一个小例子:

    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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 2013-07-23
      • 2011-03-10
      相关资源
      最近更新 更多