2

Первоначально у меня была такая команда (на Linux)

daemon flag & app flag

Однако в Windows демон bc никогда не заканчивается, приложение никогда не запускается. Так что я написал это вместо

start /B daemon flag & app flag

Это похоже на работу. Теперь я бы хотел запустить daemon flag | app2 flags но все, что я запускаю, жалуется на отсутствие демона и другие проблемы. Я выяснил, положил ли я daemon flag | app2 flags в file.bat и start /B file.bat вместо этого он, кажется, делает то, что я хочу. Но это кажется хакерским.

Как запустить daemon flag | app2 flags в фоновом режиме и app flag сразу? Это обходной путь file.bat мой единственный вариант?

1 ответ1

0

Я думаю, что следующее делает то, что вы хотите:

start /B %comspec% /c "daemon flag | app2 flags" & app flag

Это дает новое воплощение оболочки cmd , работающей в фоновом режиме и обрабатывающей канал, что неявно выполняется как с помощью start с пакетным файлом, так и с помощью эквивалентной команды Linux.

Конечно, будет путаница, если app2 и app генерируют вывод, и еще больше путаницы, если оба будут запрашивать консольный ввод (одинаково верно для Linux и Windows).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .