Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Process, prompt и т.д. / 10 сообщений из 10, страница 1 из 1
17.05.2013, 11:02:08
    #38261544
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
День добрый!

Удивительный вопрос ... Есть Process запущенный, производится вычитка и запись через InputStream, OutputStream. Все хорошо, но Process
представляет консольное (под Win). Как его prompt вытащить? Это вообще возможно? В вычитке его нет ...

Пасиба
...
Рейтинг: 0 / 0
17.05.2013, 11:07:43
    #38261556
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
_usa__83_Удивительный вопрос ... Есть Process запущенный, производится вычитка и запись через InputStream, OutputStream. Все хорошо, но Process
представляет консольное (под Win). Как его prompt вытащить? Это вообще возможно? В вычитке его нет ...

Не понял вопроса. Java запускает что за Process? cmd? batch? Всё там есть. Или это какой-то exe, который создаёт новую консоль?
...
Рейтинг: 0 / 0
17.05.2013, 11:10:11
    #38261561
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Blazkowicz,

Запускается psql собственно (Postgres'овская консоль), то бишь ... хммм cmd получается ... у нее, естественно если работать через cmd под
Win свой промпт, который хотелось бы вычитать ...
...
Рейтинг: 0 / 0
17.05.2013, 11:16:38
    #38261577
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
_usa__83_ Запускается psql собственно (Postgres'овская консоль), то бишь ... хммм cmd получается ... у нее, естественно если работать через cmd под
Win свой промпт, который хотелось бы вычитать ...
Покажите код как вы запускаете. Если консоль запущена из Java так, что юзер её видит, то Java с ней уже не сможет работать. Так как процесс привязан к виндовой консоли.
Либо psql сам создаёт консоль, тогда нужно искать другой способ с консолью через Java.
...
Рейтинг: 0 / 0
17.05.2013, 11:19:21
    #38261583
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Blazkowicz,

package test;

import java.io.IOException;

public class Main
{
public static void main(String[] args)
{
try
{
Process p=Runtime.getRuntime().exec("\"C:\\Program Files\\PostgreSQL\\9.1\\bin\\psql\" -U postgres");
ReadWrite arg = new T();
InputWriter iw=new InputWriter(p.getOutputStream(),arg);
OutputReader or=new OutputReader(p.getInputStream(),arg);
or.start();
Thread.sleep(1000);
iw.start();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
...
Рейтинг: 0 / 0
17.05.2013, 11:21:47
    #38261588
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Используйте ProcessBuilder с редиректом Error в Out. Может консоль из-за ошибки заблокировалась.
Так консоль для юзера не видна. Верно?
...
Рейтинг: 0 / 0
17.05.2013, 11:23:39
    #38261590
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Вот тут пишут что не получится. Возможно psql создаёт свою консоль, а не работает с IO процесса.
http://stackoverflow.com/questions/3240704/execute-external-program-using-processbuilder-and-provide-input
psql.exe > log.txt пишет что-то в файл?
...
Рейтинг: 0 / 0
17.05.2013, 11:28:38
    #38261604
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Blazkowicz,

Тут уж я не понял ... Когда я запускаю процесс psql так как написано, то он (psql и cmd висят в диспетчере) ... Окно cmd не создается (по крайней мере я
его не вижу) ... привязка к out и in осуществляется в

InputWriter iw=new InputWriter(p.getOutputStream(),arg);
OutputReader or=new OutputReader(p.getInputStream(),arg);

и с вычиткой и записью все нормально, т.е. я пишу, читаю но в принципе промпта который виден в окне cmd если psql запускать через него я не могу
получить в программе на жабе ... Возможно это и не возможно (хм...) в силу "специфики" самого промпта, может он не пишется в stdout?
...
Рейтинг: 0 / 0
17.05.2013, 11:37:09
    #38261621
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
_usa__83_получить в программе на жабе ... Возможно это и не возможно (хм...) в силу "специфики" самого промпта, может он не пишется в stdout?
Да. Может быть и такое. Если psql непосредственно пишет в консоль какими-то иными средствами.
Попробуйте ProcessBuilder.redirectErrorStream()
...
Рейтинг: 0 / 0
17.05.2013, 11:42:00
    #38261629
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Process, prompt и т.д.
Blazkowicz,

Пасиба попробую
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Process, prompt и т.д. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]