4 / 4 / 0
Регистрация: 26.10.2010
Сообщений: 8
|
||||||||||||||||
1 | ||||||||||||||||
Вызов runas через командную строку windows26.10.2010, 13:58. Показов 3530. Ответов 8
Метки нет Все метки)
(
Есть вот такой код:
Нужно, чтобы на экран выводилось то же самое, что выводит сама винда при вводе runas в консоль, однако на экран выводится только пустая строка. При этом с остальными командами, которые я пробовал, проблем не возникало. Например, обычный хэлп:
В чём может быть проблема?
1
|
|
26.10.2010, 13:58 | |
Ответы с готовыми решениями:
8
Работа с архивами через командную строку Windows Работа с архивами через Командную строку Windows Восстановление windows 2008 через командную строку
|
1 / 1 / 0
Регистрация: 11.10.2010
Сообщений: 22
|
|
26.10.2010, 14:47 | 2 |
тоже попробовал - потоки молчат, однако если ввести пользователя и программу - запрос пароля выводит в стандартный поток.
1
|
635 / 527 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
|
26.10.2010, 18:52 | 3 |
Во первых, читать stdout и strerr запускаемых программ нужно в отдельном потоке. А вот с записью в stdin запускаемой программы получаются проблемы...
0
|
4 / 4 / 0
Регистрация: 26.10.2010
Сообщений: 8
|
||||||||||||||||
27.10.2010, 17:31 [ТС] | 4 | |||||||||||||||
Так я и так потоки out и err читаю в разных потоках.
А возможно ли вообще вызвать runas со всеми параметрами и отправить ему пароль в ответ на его запрос? т.е. к примеру мне нужно выполнить что-то вроде
Введите пароль для username: java.io.IOException: Идет закрытие канала at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:260) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) at cmd.myRuntime.doit(myRuntime.java:62) at cmd.Main.main(Main.java:30) Кроме того, мне было бы просто интересно сделать что-то типа bat-файла. К примеру заменить в предыдущем куске кода две строчки на
Возможно ли это сделать?
0
|
1 / 1 / 0
Регистрация: 11.10.2010
Сообщений: 22
|
|||||||||||
02.11.2010, 12:07 | 5 | ||||||||||
А просветите, пожалуйста, почему:
0
|
635 / 527 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
|
02.11.2010, 14:18 | 6 |
И где ты это делаешь? В упор не вижу...
Поясняю для тех, кто на бронепоезде. Код, который ты привел под цитируемым мною текстом, делает следующее: с 6 по 8 строки ты создаешь читателей потоков. В 9 строке говоришь программе, что нужно дождаться завершения процесса p. По окончании процесса ты пытаешься что-то прочитать-записать в его стандартные потоки, что, естественно, приводит к ошибке, т.к. эти потоки закрываются после завершения процесса. Учи матчасть...
1
|
1 / 1 / 0
Регистрация: 11.10.2010
Сообщений: 22
|
|
03.11.2010, 11:45 | 7 |
а можно, если не трудно, как бы Вы это написали. Просто сам сейчас с потоками разбираюсь. В нете много теории, так что голова пухнет, а вот увидеть бы работающий примет - должно быть понятнее.
PS: получается бага в терминологии? потоки - это потоки ввода-вывода, и потоки - нити программы, процессы?
0
|
635 / 527 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
|||||||||||
03.11.2010, 13:20 | 8 | ||||||||||
1
|
1 / 1 / 0
Регистрация: 11.10.2010
Сообщений: 22
|
|
19.11.2010, 16:45 | 9 |
что-то мне пока знаний не хватает, чтобы в Вашем примере разобраться.
там, где группа процессов запускается - вроде понятно, а вот то, что происходит внутри этих самых нитей - не очень понял. можно алгоритм?
0
|
19.11.2010, 16:45 | |
Помогаю со студенческими работами здесь
9
Скопировать установочные файлы для Windows 7 через командную строку Как сделать флешку установочной через Командную строку Windows? Не работает программа при запуске в Windows через командную строку Как через командную строку (Windows XP) открыть файл в программе WordPad? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |