Console redirection issue
От: Chris_kh Финляндия  
Дата: 31.05.05 10:54
Оценка:
У меня проблема с получением данных из stdout buffer . Исходная задача заключается в отображении в cmd того, что выдает другая cmd при записи в stdin buffer команды. Проблема в том, что почему-то не происходит flush для buffer на клиентской стороне, но не для всех команд, а для некоторых. Изначально все сделано на основе "spawn console processes with redirected standard handles" http://support.microsoft.com/kb/q190351/ , только вместо child.exe я запускаю cmd.exe (он для меня child — хотя не очень-то приятно иметь такой child ) В чем моя проблема — запускаем все это удовольствие — оно пытается работать, некоторые комманды типа dir или cd работают "на ура" — результат редиректится со второй консоли на первую, но вот filename completion вырубается, простенький perl script не пашет — ждет ввода и не показывает prompt, а потом выплевывает весь buffer сразу

print "Enter a word:";
$string = readline(STDIN);
chomp $string;
print "\nYou entered:\n$string"

и не редиректится вывод от редактора edit, т.е. во второй cmd он запускается, но не редиректится нифига, понятно, что там всякие escape последовательности будут присутствовать, я даже согласна их парсить, но где они все — не вижу нифига. Кто-нибудь может что-нибудь посоветовать? Похожие вопросы в форумах видела, но что-то в моем случае ничего не сработало. Все готовые примеры затыкаются на тех же проблемах. Может кто-нибудь поможет понять в чем кривизна моих рук?

--Christine
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.