для подпроцесса "su", я должен написать команду к выходному или входному потоку? - PullRequest
0 голосов
/ 13 февраля 2012

Чтобы получить разрешение root от андроида, мы обычно делаем так:

Process p=Runtime.getRuntime().exec(“su”);
DataOutputStream  stream=new DataOutputStream(p.getOutputStream());
stream.writeBytes("mkdir /testFolder\n");
stream.writeBytes(“exit \n”);
p.waitFor();

Выполните коды выше, мы можем создать папку / testFolder , все в порядке, но я смущен этим. вы знаете, когда мы хотим выполнить некоторую команду в терминале, мы сначала вводим несколько кодов, и программа считывает входной буфер, чтобы что-то сделать с кодами. Но здесь мы записываем строку в выходной поток подпроцесса, почему? кажется, что команда чтения подпроцесса из его выходного буфера, а не входного буфера?

1 Ответ

0 голосов
/ 13 февраля 2012

Возможно, присвоение имен немного странно, но Process.getOutputStream () возвращает OutputStream, подключенное к стандартному входу процесса.

Имена с точки зрения родительского процесса. Вывод родительского процесса является вводом подпроцесса. Вход родительского процесса является выходом подпроцесса.

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