process.h - process.h
process.h ist eine C- Header-Datei, die Funktionsdeklarationen und Makros enthält, die beim Arbeiten mit Threads und Prozessen verwendet werden. Die meisten C-Compiler, die auf DOS- , Windows 3.1x- , Win32- , OS / 2- , Novell NetWare- oder DOS-Extender abzielen , stellen diesen Header und die Bibliotheksfunktionen in ihrer C-Bibliothek bereit. Weder die Header-Datei noch die meisten Funktionen sind durch den ANSI / ISO C- Standard oder durch POSIX definiert .
Geschichte
Die Version der Datei von Microsoft stammt laut Copyright-Erklärung mindestens aus dem Jahr 1985. Ein früher Verweis auf die Datei befand sich in einem Beitrag im Usenet net.micro.pc vom 26. Oktober 1986. Der verwendete Compiler war Microsoft C Compiler Version 3.0. Die Lattice C- Compiler-Version 3.30 (24.08.1988) verfügte nicht über eine solche Header-Datei, bot jedoch ähnliche Funktionen. Borland lieferte den Header in seiner Turbo C- Compiler-Version 2.01. Der C Ware-Personal C-Compiler Version 1.2c (Juni 1989) hatte nur die ANSI-Header.
Funktionen
| Name | Beschreibung | Anmerkungen |
|---|---|---|
execl, execle, execlp, execlpe |
laden und ausführen einen neuen Kind - Prozess , indem sie es zuvor im Speicher belegte durch den übergeordneten Prozess platzieren. Parameter werden einzeln übergeben. | DOS, Win, OS / 2, POSIX |
execv, execve, execvp, execvpe |
Laden Sie einen neuen untergeordneten Prozess und führen Sie ihn aus, indem Sie ihn in den Speicher legen, der zuvor vom übergeordneten Prozess belegt wurde. Parameter werden als Array von Zeigern übergeben. | DOS, Win, OS / 2, POSIX |
spawnl, spawnle, spawnlp, spawnlpe |
Laden Sie einen neuen untergeordneten Prozess und führen Sie ihn aus. Parameter werden einzeln übergeben. | DOS, Win, OS / 2 |
spawnv, spawnve, spawnvp, spawnvpe |
Laden Sie einen neuen untergeordneten Prozess und führen Sie ihn aus. Parameter werden als Array von Zeigern übergeben. | DOS, Win, OS / 2 |
beginthread, beginthreadNT |
Erstellt einen neuen Ausführungsthread innerhalb des aktuellen Prozesses. | Win, OS / 2 |
endthread |
Beendet einen von erstellten Thread beginthread . |
Win, OS / 2 |
getpid |
gibt die Prozesskennung zurück . | DOS, Win, OS / 2 |
cexit |
Wiederherstellen von Interrupt-Vektoren, die durch den Startcode geändert wurden. | DOS, Win, OS / 2 |
Konstanten
| Name | Beschreibung | Anmerkungen | Betriebssystem |
|---|---|---|---|
_P_WAIT |
Unterbricht den übergeordneten Prozess, bis die Ausführung des untergeordneten Prozesses abgeschlossen ist. | synchrones Spawn. | MS-DOS, Win32, OS / 2 |
_P_NOWAIT, _P_NOWAITO |
Führt den aufrufenden Prozess gleichzeitig mit dem neuen Prozess weiter aus. | asynchroner Spawn. | Win32, OS / 2 |
_P_OVERLAY |
Überlagert den übergeordneten Prozess mit dem untergeordneten Prozess, wodurch der übergeordnete Prozess zerstört wird. | hat den gleichen Effekt wie die exec* Funktionen. |
MS-DOS, Win32, OS / 2 |
_P_DETACH |
Das Kind wird im Hintergrund ohne Zugriff auf die Konsole oder Tastatur ausgeführt. | Aufrufe _cwait des neuen Prozesses schlagen fehl. Asynchroner Spawn. |
Win32, OS / 2 |
_WAIT_CHILD |
als cwait Aktion verwendet. |
Veraltet auf Win32. | MS-DOS, OS / 2 |
_WAIT_GRANDCHILD |
als cwait Aktion verwendet. |
Veraltet auf Win32. | MS-DOS, OS / 2 |
Implementierungen
Da es keinen Standard gibt, auf dem die Implementierung basieren kann, unterscheiden sich die von process.h deklarierten Funktionen je nach verwendetem Compiler. Unten finden Sie eine Liste der Compiler, die process.h bereitstellen.
- DJGPP
- OpenWatcom,
- Digitaler Mars
- MinGW
- Microsoft Visual C ++
- Borland Turbo C, 2.0 und höher
- Lcc32
- QNX Neutrino QCC 6.x.
Unterschiede
Ein weiterer Aspekt, der variieren kann, ist die kombinierte Länge der Parameter exec * und spawn *.
- Delorie DJGPP: hat kein solches Limit.
- Digitaler Mars: Das Maximum beträgt 128 Bytes. Über das Endzeichen '\ 0' wird nichts angegeben.
- Microsoft cl: Die Argumentliste für den neuen Prozess darf 1024 Byte nicht überschreiten.
Verweise
- ^ "Copyright 1985–1989, Microsoft Corporation", in der Datei process.h der QuickC- Version 2.00
- ^ Ist meine Diskette formatiert? , groups-beta.google.com
- ^ Delorie.com
- ^ DJGPP process.h, delorie.com
- ^ Openwatcom.org Archiviert am 17.03.2015 auf der Wayback-Maschine
- ^ OpenWatcom clib Archiviert am 11.10.2006 auf der Wayback Machine , openwatcom.org
- ^ DigitalMars.com
- ^ Digital Mars process.h , digitalmars.com
- ^ MinGW.org
- ^ "MSDN.Microsoft.com" . Archiviert vom Original am 07.07.2007 . Abgerufen am 15.01.2007 .
- ^ "Borland.com" . Archiviert vom Original am 05.11.2012 . Abgerufen am 15.01.2007 .
- ^ C Version 2.01 , dn.codegear.com
- ^ CS.Virginia.edu
- ^ QNX.com
- ^ DJGPP spawn * , delorie.com
- ^ Microsoft MSDN , msdn.microsoft.com