Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: SynWrite (Syn2) 
Author Message
480499497



PostPosted: Sun Aug 05, 2012 21:35    Post subject: Reply with quote

В том то и дело, что пока син выполняет >%Temp%\synWr$$.txt
он не может обратиться к файлу пока не завершит запись, а она не закончиться так как демон работает постоянно.
Но ситуация проясняется.

Думаю стоит попробовать реализовать или загрузку строки не в файл а в масив, либо же сделать опцию которая будет регулировать из какого файла делать загрузку и при каком событии.

Сейчас в голову пришла идея смотри.
при выполнении акого сложного вызова

Code:
cmd /c start cmd /k "c:\Program Files\nodejs\Node.exe" "d:\dev\server.js"


Происходит вызов нового процесса с выводом в консоль ответа обработчика не в прямом потомке командной строки от Син а в НОВОМ процессе командной строки. Можно доработать строку вызова таким образом что бы формировать НОВЫЙ файл отчета, к примеру synTemp$$.txt

Code:
cmd /c start cmd /k '"c:\Program Files\nodejs\Node.exe" "d:\dev\server.js">%Temp%\synTemp$$.txt'


Почему нужен имено новый? Потому что сейчас при попытке добавить в synWr$$.txt возвращается ответ
The process cannot access the file because it is being used by another process.

И всё что останеться это прикрутить в Син опцию где в ручную можно будет указан файл обмена консольными ответами. И подцепить функцию чтения файла (и вывода её в панель Вывод в самом Син) с задержкой скажем в 5 секунд, и каждые пять секунд добавлять новую запись в панель либо очищать и перезаписывать её.

Тоесть три опции получается:
Путь файла отчета внешнего обработчика
Время интервала опроса файла
Режим перезаписи панели Вывода

Таким образом мы сможем производить вывод консоли от внешнего обработчика который будет НЕЗАВИСИМО работать от самого Син.

п.с.
пока что же, я наблюдаю ответы Node.exe в черном окне CMD пускай не идеальный вариант но работает.

Posted after 10 minutes:

меня осинило. Всё проще чем мы думали.
ты говорил

Quote:
cmd.exe /c"здесь комстрока" >%Temp%\synWr$$.txt

просто замени cmd.exe /c на
cmd /c start cmd /k
и стандартный вариант с synWr$$.txt должен заработать как нужно в новом процессе.

п.с. в нашем случае нужно правда вместо /k писать /c что бы консоль пропадала.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group