Estoy en el proceso de configurar CruiseControl.NET. El problema que tengo es que estoy ejecutando CC como una aplicación de consola y cuando mi compilación se completa con éxito y se ejecuta (usando exec), la inicia dentro del indicador de DOS de CruiseControl. Solo estoy usando archivos por lotes simples para iniciar mi aplicación, pero hacer que se ejecute en el mismo mensaje que CC hace que CC piense que la compilación continúa mientras se ejecute mi aplicación.
¿Hay parámetros de línea de comando cmd.exe
que generarán otra ventana de solicitud separada?
windows
command-line
cmd
Mark Stahler
fuente
fuente
DETACHED_PROCESS
(es decir, sin consola) . Si comienza con la marca de creaciónCREATE_NEW_CONSOLE
(comostart
usa CMD ), la DLL base siempre asigna una nueva consola en lugar de heredar la de los padres.Respuestas:
Creo que esto funciona:
fuente
Aquí está el código que necesita:
fuente
@cmd
haciendo ¿Existe alguna documentación para ello?@
suprime la salida directa que normalmente aparecería en el símbolo del sistema, pero el comando aún se ejecutará.^
. :( ¿Alguna forma de lidiar con esto?Simplemente escriba
start
en el símbolo del sistema:Esto abrirá nuevas
cmd
ventanas.fuente
abre una ventana separada
abre el archivo por lotes y lo ejecuta en otro símbolo del sistema
fuente
Puede escribir estos 3 comandos desde el símbolo del sistema:
start
start cmd
start cmd.exe
fuente
Para crear cualquier tipo de archivo cmd, todo lo que tiene que hacer es guardar el contenido como .bat, es decir
Conviértalo en un archivo "example.bat", guárdelo, ábralo y ejecútelo.
fuente
simplemente escriba en su archivo bat
o
fuente
&
ejecutar varios comandos en el nuevo indicador. Me gusta agregarexit
para que cierre el indicador cuando el comando haya terminado de ejecutarse.También intenté ejecutar un archivo por lotes que ejecuta el proceso / servidor daemon al final de la tarea CCNET; La única forma de hacer que CruiseControl genere un proceso asincrónico independiente SIN esperar el final del proceso es:
use el programador de tareas para ejecutar el archivo por lotes como tarea CCNET (usando schtasks.exe)
es posible que deba matar el proceso al comienzo de ccnet
PD: la respuesta seleccionada usando "start cmd.exe" no funciona; De hecho, se genera un nuevo símbolo del sistema, pero CCNET esperará a que finalice el cmd generado.
fuente