2012-01-25 50 views
1

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

回答

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

杀死它
0

No. exec催生了一个新的过程,这就是它应该做的事 - 以及如果你启动一个外部命令你想做什么。但它会返回一个Process对象,您可以使用该对象来操作正在运行的进程。