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

  1. ^ "Copyright 1985–1989, Microsoft Corporation", in der Datei process.h der QuickC- Version 2.00
  2. ^ Ist meine Diskette formatiert? , groups-beta.google.com
  3. ^ Delorie.com
  4. ^ DJGPP process.h, delorie.com
  5. ^ Openwatcom.org Archiviert am 17.03.2015 auf der Wayback-Maschine
  6. ^ OpenWatcom clib Archiviert am 11.10.2006 auf der Wayback Machine , openwatcom.org
  7. ^ DigitalMars.com
  8. ^ Digital Mars process.h , digitalmars.com
  9. ^ MinGW.org
  10. ^ "MSDN.Microsoft.com" . Archiviert vom Original am 07.07.2007 . Abgerufen am 15.01.2007 .
  11. ^ "Borland.com" . Archiviert vom Original am 05.11.2012 . Abgerufen am 15.01.2007 .
  12. ^ C Version 2.01 , dn.codegear.com
  13. ^ CS.Virginia.edu
  14. ^ QNX.com
  15. ^ DJGPP spawn * , delorie.com
  16. ^ Microsoft MSDN , msdn.microsoft.com

Externe Links