Фоновые процессы в пакете с перенаправленным выводом - PullRequest
9 голосов
/ 16 сентября 2011

Я пытаюсь запустить несколько фоновых процессов из командного файла и получить вывод, направленный в файл.Возможно ли это сделать в Windows?Это то, что я пытался, но в итоге он направлял вывод программы запуска, а не фоновый процесс.

Ответы [ 2 ]

11 голосов
/ 30 июля 2012

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

Возможно, вы не хотите видеть дополнительное окно консоли, поэтомуиспользуйте опцию START / B.

start /b "" cmd /c myapp.exe ^>myapp.out 2^>^&1

Каждый процесс STARTed должен иметь свой вывод, направленный в уникальный файл.Несколько процессов не могут использовать один и тот же выходной файл.

6 голосов
/ 16 сентября 2011

Я думаю, что единственный шанс у вас есть создать один пакетный файл для каждого exe-файла, который вы хотите запустить.Внутри командного файла вы можете перенаправить вывод.Главный пакетный файл будет затем «запускать» пакетный файл, а не исполняемый файл напрямую.

Вам просто нужно включить команду exit в конце каждого пакетного файла:

start_myapp.cmd содержит следующее:

myapp.exe > myapp.out 2>&1
exit

, затем вы можете запустить

start start_myapp.cmd 

, и вывод будет перенаправлен

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