process.h es un archivo de encabezado C que contiene declaraciones de funciones y macros que se utilizan al trabajar con subprocesos y procesos. La mayoría de los compiladores de C que tienen como destino DOS , Windows 3.1x , Win32 , OS / 2 , Novell NetWare o extensores de DOS proporcionan este encabezado y las funciones de biblioteca en su biblioteca C. Ni el archivo de encabezado ni la mayoría de las funciones están definidas por el estándar ANSI / ISO C ni por POSIX .
Historia
La versión de Microsoft del archivo se remonta al menos a 1985, según su declaración de derechos de autor. [1] Una de las primeras referencias al archivo fue en una publicación en net.micro.pc usenet el 26 de octubre de 1986. [2] El compilador utilizado fue el compilador de Microsoft C versión 3.0. La versión 3.30 del compilador Lattice C (24 de agosto de 1988) no tenía un archivo de encabezado de este tipo, pero ofrecía funciones similares. Borland proporcionó el encabezado en su compilador Turbo C versión 2.01. La versión 1.2c del compilador de C Ware-Personal C (junio de 1989) solo tenía los encabezados ANSI.
Funciones
Nombre | Descripción | Notas |
---|---|---|
execl, execle, execlp, execlpe | cargar y ejecutar un nuevo proceso hijo colocándolo en la memoria previamente ocupada por el proceso padre. Los parámetros se pasan individualmente. | DOS, Win, OS / 2, POSIX |
execv, execve, execvp, execvpe | cargar y ejecutar un nuevo proceso hijo colocándolo en la memoria previamente ocupada por el proceso padre. Los parámetros se pasan como una matriz de punteros. | DOS, Win, OS / 2, POSIX |
spawnl, spawnle, spawnlp, spawnlpe | cargar y ejecutar un nuevo proceso hijo. Los parámetros se pasan individualmente. | DOS, Win, OS / 2 |
spawnv, spawnve, spawnvp, spawnvpe | cargar y ejecutar un nuevo proceso hijo. Los parámetros se pasan como una matriz de punteros. | DOS, Win, OS / 2 |
beginthread, beginthreadNT | crea un nuevo hilo de ejecución dentro del proceso actual. | Win, OS / 2 |
endthread | termina un hilo creado por beginthread . | Win, OS / 2 |
getpid | devuelve el identificador del proceso . | DOS, Win, OS / 2 |
cexit | restaurar vectores de interrupción alterados por el código de inicio. | DOS, Win, OS / 2 |
Constantes
Nombre | Descripción | Notas | SO |
---|---|---|---|
_P_WAIT | Suspende el proceso padre hasta que el proceso hijo haya terminado de ejecutarse. | desove sincrónico. | MS-DOS, Win32, OS / 2 |
_P_NOWAIT, _P_NOWAITO | Continúa ejecutando el proceso de llamada al mismo tiempo que el nuevo proceso. | desove asincrónico. | Win32, OS / 2 |
_P_OVERLAY | Superpone el proceso padre con el hijo, lo que destruye al padre. | tiene el mismo efecto que las exec* funciones. | MS-DOS, Win32, OS / 2 |
_P_DETACH | El niño se ejecuta en segundo plano sin acceso a la consola o al teclado. | Las llamadas _cwait al nuevo proceso fallarán. Generación asincrónica. | Win32, OS / 2 |
_WAIT_CHILD | utilizado como cwait acción. | Obsoleto en Win32. | MS-DOS, OS / 2 |
_WAIT_GRANDCHILD | utilizado como cwait acción. | Obsoleto en Win32. | MS-DOS, OS / 2 |
Implementaciones
Dado que no existe un estándar en el que basar la implementación, las funciones declaradas por process.h difieren, dependiendo del compilador en uso. A continuación se muestra una lista de compiladores que proporcionan process.h.
Diferencias
Otro aspecto que puede variar es la longitud combinada de los parámetros exec * y spawn *.
- Delorie DJGPP: no tiene ese límite. [15]
- Marte digital: el máximo es 128 bytes; no se dice nada sobre el carácter final '\ 0'.
- Microsoft cl: la lista de argumentos para el nuevo proceso no debe exceder los 1024 bytes. [dieciséis]
Referencias
- ^ "Copyright 1985-1989, Microsoft Corporation", en elarchivo process.h de la versión 2.00 de QuickC
- ^ ¿Está formateado mi disquete? , groups-beta.google.com
- ^ Delorie.com
- ^ Djgpp process.h , delorie.com
- ^ Openwatcom.org Archivado el 17 de marzo de 2015 en la Wayback Machine.
- ^ OpenWatcom clib Archivado el 11 de octubre de 2006 en Wayback Machine , openwatcom.org
- ^ DigitalMars.com
- ^ Proceso de Marte digital.h , digitalmars.com
- ^ MinGW.org
- ^ "MSDN.Microsoft.com" . Archivado desde el original el 7 de julio de 2007 . Consultado el 15 de enero de 2007 .
- ^ "Borland.com" . Archivado desde el original el 5 de noviembre de 2012 . Consultado el 15 de enero de 2007 .
- ^ C versión 2.01 [ enlace muerto permanente ] , dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ Generación de DJGPP * , delorie.com
- ^ Microsoft MSDN , msdn.microsoft.com
enlaces externos
- Referencia de Digital Mars _exec