Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
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 |
Sí | Enumerar | Heredado del proceso de llamada |
_execvpe, _spawnvpe |
Sí | Matriz | Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento |
_execlpe, _spawnlpe |
Sí | Enumerar | Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento |
_execv, _spawnv |
No | Array | Heredado del proceso de llamada |
_execve, _spawnve |
No | Array | Puntero a la tabla de entorno para el nuevo proceso que se pasa como último argumento |
_execvp, _spawnvp |
Sí | Matriz | Heredado del proceso de llamada |