如何在单独的进程中阻止在java中执行Linux命令?

时间:2012-01-25 09:29:33

标签: android process

我正在开发应用程序来过滤android.I生成的logcat。使用getruntme.exec执行linux命令'/ system / bin / logcat -b main -f /sdcard/logcat.txt'。执行命令,但它在单独的进程中运行,虽然我卸载我的应用程序,该进程继续运行。有任何方法,我可以阻止在另一个进程中运行。

2 个答案:

答案 0 :(得分:1)

通过getruntme.exec,你的意思是说你正在使用这样的东西吗? (借鉴here):

import java.io.*;
public class TestExec {
    public static void main(String[] args) {
        try {
            Process p = Runtime.getRuntime().exec("cmd /C dir");
            BufferedReader in = new BufferedReader(
                                new InputStreamReader(p.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

然后你可以用p.destroy()

杀死它

答案 1 :(得分:0)

没有。 exec会生成一个新进程,即它应该执行的操作 - 以及启动外部命令时要执行的操作。但它返回一个Process对象,您可以使用该对象来操作正在运行的进程。