Pregunta

Estoy tratando de utilizar CreateProcess para iniciar una secuencia de comandos de PowerShell desde el interior de mi solicitud.

He usado el ejemplo Microsoft ( http: //msdn.microsoft.com/en-us/library/ms682499(VS.85).aspx ) para crear el proceso hijo y redirigir el cabo estándar / en / err tuberías.

El único problema dejó de resolver es por eso que el proceso hijo (PowerShell) no termina después de ejecutar el comando.

Si ejecuto el proceso de PowerShell (con el comando) cmd.exe se ejecuta y las salidas, cerrando el proceso.

La única manera de cerrar el proceso de PowerShell en este momento es ejecutar TerminateProcess en el mango, pero que se siente como un último recurso.

¿Fue útil?

Solución

Es el padre de leer la salida estándar del niño por completo? Si usted no lee todo, entonces yo creo que el niño va a colgar. Además, si el script espera de entrada tendrá que escribir algo a la entrada estándar del niño o de lo contrario se bloqueará. Se podría adjuntar windbg para el niño y ver dónde está colgando; tal vez le dará una idea de dónde buscar.

Otros consejos

En Linux, si no totalmente redirigir la salida y el proceso padre muere, el proceso hijo muere también. Por lo que comprueba la documentación ventanas refiriéndose rearrange del proceso hijo cuando el padre muere.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top