Se recomienda usar Visual Studio 2017

Control de proceso y de entorno

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Utilice las rutinas del proceso CONTROL para iniciar, detener, y administrar procesos dentro de un programa. Utilice las rutinas de la intermediate language CONTROL para obtener y la información de cambio sobre el entorno del sistema operativo.

Funciones de procesos y de control ambiental

RutinaUtiliceEquivalente de .NET Framework
anulaciónEl proceso de anulación sin vaciar los búferes o las funciones de llamada registrado por atexit y _onexitNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
assertPrueba del error lógico<caps:sentence id="tgt14" sentenceid="14fd9bf776829d73028df00162f7533f" class="tgtSentence">System::Diagnostics::Debug::Assert</caps:sentence>
macros de_ASSERT; _ASSERTESimilar a assert, pero sólo está disponible en las versiones de depuración de las bibliotecas en tiempo de ejecución<caps:sentence id="tgt17" sentenceid="14fd9bf776829d73028df00162f7533f" class="tgtSentence">System::Diagnostics::Debug::Assert</caps:sentence>
atexitRutinas de programación para la ejecución en la finalización del programa<caps:sentence id="tgt20" sentenceid="db022fa9aa2a12937c3610e3eb32e80f" class="tgtSentence">System::Diagnostics::Process::Exited</caps:sentence>
_beginthread, _beginthreadexCree un nuevo subproceso de un proceso del sistema operativo Windows<caps:sentence id="tgt23" sentenceid="221e38ecc6535bce91af4e1a19f464d1" class="tgtSentence">System::Threading::Thread::Start</caps:sentence>
_cexitSiga los procedimientos de finalización de exit (como vaciar los búferes), se devuelve el control al programa de llamada sin terminar proceso<caps:sentence id="tgt26" sentenceid="46302f19d05c09c5875a795cb64800f9" class="tgtSentence">System::Diagnostics::Process::CloseMainWindow</caps:sentence>
_c_exitSiga los procedimientos de finalización de _exit , después devuelve el control al programa de llamada sin terminar proceso<caps:sentence id="tgt29" sentenceid="46302f19d05c09c5875a795cb64800f9" class="tgtSentence">System::Diagnostics::Process::CloseMainWindow</caps:sentence>
_cwaitEspere hasta que otro proceso finalice<caps:sentence id="tgt32" sentenceid="d9c88c429eaacaa9f37d91d29bc6504e" class="tgtSentence">System::Diagnostics::Process::WaitForExit</caps:sentence>
_endthread, _endthreadexFinaliza un subproceso del sistema operativo WindowsNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_execl, _wexeclEjecuta el nuevo proceso con la lista de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execle, _wexecleEjecuta el nuevo proceso con la lista de argumentos y el entorno determinadoClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execlp, _wexeclpEjecuta el nuevo proceso utilizando la variable y la lista de argumentos de PATHClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execlpe, _wexeclpeEjecuta el nuevo proceso utilizando la variable de PATH , según el entorno, y la lista de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execv, _wexecvEjecuta el nuevo proceso con matriz de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execve, _wexecveEjecuta el nuevo proceso con la matriz de argumentos y el entorno determinadoClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execvp, _wexecvpEjecuta el nuevo proceso utilizando la variable de PATH y la matriz de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_execvpe, _wexecvpeEjecuta el nuevo proceso utilizando la variable de PATH , según el entorno, y la matriz de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
exitLlame a las funciones registradas por atexit y _onexit, borre todos los búferes, cierre todos los archivos abiertos, y finalice el proceso<caps:sentence id="tgt64" sentenceid="811a70e90f150f212690505b37a46c0f" class="tgtSentence">System::Diagnostics::Process::Kill</caps:sentence>
_exitFinalice el proceso inmediatamente sin llamar a atexit o _onexit o vaciar los búferes<caps:sentence id="tgt67" sentenceid="811a70e90f150f212690505b37a46c0f" class="tgtSentence">System::Diagnostics::Process::Kill</caps:sentence>
getenv, _wgetenv, getenv_s, _wgetenv_sObtenga el valor de la variable de entorno<caps:sentence id="tgt70" sentenceid="795988b9277d74ea3b722ecd42dcb29d" class="tgtSentence">System::Environment::GetEnvironmentVariable</caps:sentence>
_getpidObtiene el número de identificador de proceso<caps:sentence id="tgt73" sentenceid="745b82c461dc74b15540e9622f7cd7bd" class="tgtSentence">System::Diagnostics::Process::Id</caps:sentence>
longjmpRestaurar el entorno de la pila; utilícelo para ejecutar gotolocalNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_onexitRutinas de programación para la ejecución en la finalización del programa; utiliza la compatibilidad con la versión 7.0 de Microsoft C/C++ y anterior<caps:sentence id="tgt81" sentenceid="db022fa9aa2a12937c3610e3eb32e80f" class="tgtSentence">System::Diagnostics::Process::Exited</caps:sentence>
_pcloseAl nuevo procesador de comandos y cierre secuencia de canalización asociadaNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
perror, _wperrorMensaje de error de impresiónNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_pipeCree la canalización para leer y escribirNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_popen, _wpopenCree la canalización y ejecute el comandoNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_putenv, _wputenv, _putenv_s, _wputenv_sAgregue o cambie el valor de la variable de entornoNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
raiseEnvía la señal al proceso de llamadaNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
setjmpGuarde el entorno de la pila; uso de ejecutar gotono localNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
señalSigno de la interrupción de identificadorNo es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.
_spawnl, _wspawnlCrear y ejecutar el nuevo proceso con la lista de argumentos especificadaClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnle, _wspawnleCrear y ejecutar el nuevo proceso con la lista de argumentos y el entorno especificadosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnlp, _wspawnlpCrear y ejecutar el nuevo proceso utilizando la variable de PATH y la lista de argumentos especificadaClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnlpe, _wspawnlpeCrear y ejecutar el nuevo proceso utilizando la variable de PATH , el entorno especificado, y la lista de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnv, _wspawnvCrear y ejecutar el nuevo proceso con la matriz especificado de argumentoClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnve, _wspawnveCrear y ejecutar el nuevo proceso con la matriz especificado del entorno y argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnvp, _wspawnvpCrear y ejecutar el nuevo proceso utilizando la variable de PATH y la matriz especificado de argumentoClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
_spawnvpe, _wspawnvpeCrear y ejecutar el nuevo proceso utilizando la variable de PATH , el entorno especificado, y la matriz de argumentosClase de System::Diagnostics::Process, Clase de System::Diagnostics::ProcessStartInfo
el sistema, _wsystemEjecute el comando del sistema operativoClase de System::Diagnostics::ProcessStartInfo, Clase de System::Diagnostics::Process

En el sistema operativo Windows, el proceso generado es equivalente al proceso que generar. Cualquier proceso puede utilizar _cwait para esperar cualquier otro proceso para el que se conoce el identificador de proceso.

La diferencia entre _exec y las familias de _spawn es que la función de _spawn puede devolver el control del nuevo proceso al proceso de llamada. En una función de _spawn , el proceso de llamada y el nuevo proceso están presentes en memoria a menos que se especifique _P_OVERLAY . En una función de _exec , el nuevo proceso se superpone al proceso de llamada, por lo que el control no puede volver al proceso de llamada a menos que se produzca un error en el intento de iniciar la ejecución del nuevo proceso.

Las diferencias entre las funciones de la familia de _exec , así como entre las de la familia de _spawn , se utiliza el método para buscar el archivo que se ejecutará como el nuevo proceso, la forma en que los argumentos se pasan al nuevo proceso, y el método de establecer el entorno, como se muestra en la tabla siguiente. Utilice una función que pase una lista de argumentos cuando el número de argumentos es constante o se conoce en tiempo de compilación. Utilice una función que pase un puntero a una matriz que contiene los argumentos cuando el número de argumentos debe determinar en tiempo de ejecución. La información en la tabla siguiente también se aplica a sus homólogos de caracteres anchos de _spawn y _exec funciona.

familias de la función de _spawn y de _exec

FuncionesVariable PATH de uso para localizar el archivoConvención para pasar argumentosConfiguración de entorno
_execl, _spawnlNoListaHeredado de proceso de llamada
_execle, _spawnleNoListaPuntero a la tabla de entorno para el nuevo proceso pasado como por último argumento
_execlp, _spawnlpListaHeredado de proceso de llamada
_execlpe, _spawnlpeListaPuntero a la tabla de entorno para el nuevo proceso pasado como por último argumento
_execv, _spawnvNoMatrizHeredado de proceso de llamada
_execve, _spawnveNoMatrizPuntero a la tabla de entorno para el nuevo proceso pasado como por último argumento
_execvp, _spawnvpMatrizHeredado de proceso de llamada
_execvpe, _spawnvpeMatrizPuntero a la tabla de entorno para el nuevo proceso pasado como por último argumento

Rutinas de tiempo de ejecución por categoría

Mostrar: