Estou configurando o CruiseControl.NET. O problema que estou tendo é que estou executando o CC como um aplicativo de console e, quando minha construção é concluída com êxito e executada (usando exec), ela é iniciada no prompt CruiseControl do DOS. Estou apenas usando arquivos em lote simples para iniciar meu aplicativo, mas executá-lo no mesmo prompt que o CC está fazendo com que o CC pense que a construção continua enquanto meu aplicativo estiver em execução.
Existem parâmetros de linha de comando para cmd.exe
gerar outra janela de prompt separada?
windows
command-line
cmd
Mark Stahler
fonte
fonte
DETACHED_PROCESS
(ou seja, sem console) . Se for iniciado com o sinalizador de criaçãoCREATE_NEW_CONSOLE
(como o CMDstart
usa), a DLL base sempre aloca um novo console em vez de herdar o do pai.Respostas:
Eu acho que isso funciona:
fonte
Aqui está o código de que você precisa:
fonte
@cmd
fazendo? Existe alguma documentação para isso?@
suprime a saída direta que normalmente seria exibida no prompt, mas o comando ainda será executado.^
. :( Alguma maneira de lidar com isso?Basta digitar
start
no prompt de comando:Isso abrirá novas
cmd
janelas.fonte
abre uma janela separada
abre o arquivo em lote e o executa em outro prompt de comando
fonte
Você pode simplesmente digitar estes 3 comandos no prompt de comando:
start
start cmd
start cmd.exe
fonte
Para criar qualquer tipo de arquivo cmd, tudo que você precisa fazer é salvar o conteúdo como .bat, ou seja,
Transforme-o em um arquivo "example.bat", salve-o, abra-o e execute.
fonte
escrever simples em seu arquivo bat
ou
fonte
&
executar vários comandos no novo prompt. Eu gosto de adicionarexit
para fechar o prompt quando o comando terminar de ser executado.Também tentei executar o arquivo em lote que executa o processo / servidor daemon no final da tarefa CCNET; A única maneira de fazer o CruiseControl gerar um processo assíncrono independente SEM esperar pelo fim do processo é:
usar o agendador de tarefas para executar o arquivo em lote como tarefa CCNET (usando schtasks.exe)
você pode precisar interromper o processo no início da ccnet
PS: a resposta selecionada usando "start cmd.exe" não funciona; um novo prompt de comando é realmente gerado, mas o CCNET irá esperar que o cmd gerado termine.
fonte