Originalmente eu tinha um comando assim (no linux)
daemon flag & app flag
No entanto, no windows bc daemon nunca termina app nunca começa. Então eu escrevi isso ao invés
start /B daemon flag & app flag
Isso parece funcionar. Agora eu gostaria de correr daemon flag | app2 flags
mas tudo o que faço começa a reclamar sobre o daemon que não existe e outros problemas. Eu descubro se coloco daemon flag | app2 flags
em file.bat
e start /B file.bat
em vez disso, parece fazer o que eu quero. Mas isso parece hackish.
Como eu corro daemon flag | app2 flags
no fundo e app flag
imediatamente? Essa solução file.bat é minha única opção?
windows
command-line
Karan
fonte
fonte
start /b daemon flag | app2 flags
?start /b "daemon flag | app2 flags"
?START /B
de qualquer forma. De onde você está chamando isso e por que desse jeito? Por que não apenas executar o arquivo em lote, que parece ser muito mais simples e, na verdade, Menos "hackish".Respostas:
Eu acho que o seguinte faz o que você quer:
Isto dá uma nova encarnação do
cmd
shell, rodando em background e manipulando o pipe, o que é feito implicitamente tanto pelo uso destart
com um arquivo em lote e pelo comando equivalente do Linux.Haverá, é claro, confusão se
app2
eapp
ambos geram saída, e ainda mais confusão se ambos requisitarem a entrada do console (igualmente verdade no Linux e no Windows).fonte