2012-01-25 2 views
1

Я разрабатываю приложение для фильтрации logcat, сгенерированного android.I, выполненным linux comand '/ system/bin/logcat -b main -f /sdcard/logcat.txt'using getruntme.exec. для выполнения команды, но она выполняется в отдельном процессе, хотя я удаляю свое приложение, процесс продолжает работать. Есть ли способ предотвратить запуск в другом процессе.Как предотвратить выполнение команд Linux в java в отдельном процессе?

ответ

1

via 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

exec порождает новый процесс, то есть то, что он должен делать - и что вы хотите сделать, если вы начнете внешнюю команду. Но он возвращает объект Process, который можно использовать для управления запущенным процессом.

Смежные вопросы