Как предотвратить выполнение команд Linux в Java в отдельном процессе? - PullRequest
1 голос
/ 25 января 2012

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

Ответы [ 2 ]

1 голос
/ 25 января 2012

Под getruntme.exec вы имеете в виду что-то подобное?(заимствовано из здесь ):

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 голосов
/ 25 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...