Control de proceso y de entorno

Utilice las rutinas del control de proceso para iniciar, detener, y administrar procesos dentro de un programa. Utilice las rutinas de control de entorno para obtener y cambiar información sobre el entorno del sistema operativo.

Funciones de control de procesos y entornos

Routine Usar
abort Anular proceso sin vaciar los búferes ni llamar a las funciones registradas por atexit y _onexit
assert Prueba de error lógico
Macros _ASSERT, _ASSERTE Similar a assert, pero disponible únicamente en las versiones de depuración de las bibliotecas en tiempo de ejecución
atexit Programar rutinas para su ejecución al finalizar el programa
_beginthread, _beginthreadex Crear un nuevo subproceso en un proceso del sistema operativo Windows
_cexit Realizar procedimientos de finalización de exit (como búferes de vaciado) y después devolver el control al programa que realiza la llamada sin finalizar el proceso
_c_exit Realizar procedimientos de finalización de _exit y después devolver el control al programa que realiza la llamada sin finalizar el proceso
_cwait Esperar hasta que finalice otro proceso
_endthread, _endthreadex Terminar un subproceso del sistema operativo Windows
_execl, _wexecl Ejecutar un proceso nuevo con la lista de argumentos
_execle, _wexecle Ejecutar el nuevo proceso con la lista de argumentos y el entorno dado
_execlp, _wexeclp Ejecutar el nuevo proceso utilizando la variable y la lista de argumentos de PATH
_execlpe, _wexeclpe Ejecutar el nuevo proceso utilizando la variable de PATH, el entorno dado y la lista de argumentos
_execv, _wexecv Ejecutar un proceso nuevo con la matriz de argumentos
_execve, _wexecve Ejecutar el nuevo proceso con la matriz de argumentos y el entorno dado
_execvp, _wexecvp Ejecutar el nuevo proceso utilizando la variable y la matriz de argumentos de PATH
_execvpe, _wexecvpe Ejecutar el nuevo proceso utilizando la variable de PATH, el entorno dado y la matriz de argumentos
exit Llamar a las funciones registradas por atexit y _onexit, vaciar todos los búferes, cerrar todos los archivos abiertos y terminar proceso
_exit Terminar proceso inmediatamente sin llamar a atexit o _onexit ni vaciar los búferes
getenv, _wgetenv, , getenv_s,_wgetenv_s Obtener valor de la variable de entorno
_getpid Obtener número de identificador del proceso
longjmp Restaurar el entorno de pila guardado, usarlo para ejecutar un valor goto no local
_onexit Programar rutinas para su ejecución al finalizar el programa; usarlas para compatibilidad con Microsoft C/C++ versión 7.0 y anteriores
_pclose Esperar al nuevo procesador de comandos y cerrar el flujo en la canalización asociada
perror, _wperror Mensaje de error de impresión
_pipe Crear una canalización de lectura y escritura
_popen, _wpopen Crear la canalización y ejecutar el comando
_putenv, _wputenv, , _putenv_s,_wputenv_s Agregar o cambiar el valor de la variable de entorno
raise Enviar señal al proceso de llamada
setjmp Guardar el entorno de pila; usarlo para ejecutar el valor goto no local
signal Controlar la señal de interrupción
_spawnl, _wspawnl Crear y ejecutar un proceso nuevo con la lista de argumentos especificada
_spawnle, _wspawnle Crear y ejecutar un proceso nuevo con la lista de argumentos y el entorno especificados
_spawnlp, _wspawnlp Crear y ejecutar un proceso nuevo con la variable PATH y la lista de argumentos especificada
_spawnlpe, _wspawnlpe Crear y ejecutar un proceso nuevo con la variable PATH, el entorno especificado y la lista de argumentos
_spawnv, _wspawnv Crear y ejecutar un proceso nuevo con una matriz de argumentos especificada
_spawnve, _wspawnve Crear y ejecutar un proceso nuevo con el entorno especificado y la matriz de argumentos
_spawnvp, _wspawnvp Crear y ejecutar un proceso nuevo con la variable PATH y la matriz de argumentos especificada
_spawnvpe, _wspawnvpe Crear y ejecutar un proceso nuevo con la variable PATH, el entorno especificado y la matriz de argumentos
system, _wsystem Ejecutar comando del sistema operativo

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

La diferencia entre las familias de _exec y _spawn es que una función _spawn puede devolver el control del nuevo proceso al proceso de llamada. En una función _spawn, tanto el proceso de llamada como el nuevo proceso están presentes en la memoria, a menos que se especifique _P_OVERLAY. En una _exec función, el nuevo proceso superpone el 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 las _exec familias y _spawn implican el método de buscar el archivo que se va a ejecutar como el nuevo proceso, el formulario en el que se pasan los argumentos al nuevo proceso y el método de establecimiento del entorno, como se muestra en la tabla siguiente. Utilice una función que pase una lista de argumentos cuando el número de argumentos sea constante o se conozca 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 deba determinarse en tiempo de ejecución. La información de la tabla siguiente también se aplica a sus homólogos de caracteres anchos de las funciones _spawn y _exec.

Familias de funciones _spawn y _exec

Funciones Utilizar la variable PATH para ubicar el archivo Convención para pasar argumentos Configuración del entorno
_execl, _spawnl No List Heredado del proceso de llamada
_execle, _spawnle No List Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento
_execlp, _spawnlp Enumerar Heredado del proceso de llamada
_execvpe, _spawnvpe Matriz Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento
_execlpe, _spawnlpe Enumerar Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento
_execv, _spawnv No Matriz Heredado del proceso de llamada
_execve, _spawnve No Matriz Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento
_execvp, _spawnvp Matriz Heredado del proceso de llamada

Consulte también

Rutinas en tiempo de ejecución Universal C por categoría