Process.h - Process.h

process.h это C заголовочный файл который содержит объявления функций и макросы, используемые при работе с потоками и процессами. Большинство компиляторов C, ориентированных на ДОС, Windows 3.1x, Win32, OS / 2, Novell NetWare или Расширители DOS предоставить этот заголовок и библиотечные функции в своей библиотеке C. Ни заголовочный файл, ни большинство функций не определены ни ANSI / ISO C стандарт или POSIX.

История

Согласно заявлению об авторских правах, версия файла Microsoft датируется по крайней мере 1985 годом.[1] Первая ссылка на файл была в сообщении в usenet net.micro.pc от 26 октября 1986 года.[2] Используемый компилятор был Компилятор Microsoft C версия 3.0. Решетка C компилятор версии 3.30 (24 августа 1988 г.) не имел такого файла заголовка, но предлагал аналогичные функции. Borland предоставил заголовок в своих Турбо С версия компилятора 2.01. C Ware-Personal Компилятор C версии 1.2c (июнь 1989 г.) имел только заголовки ANSI.

Функции-члены

ИмяОписаниеПримечания
execl, execle, execlp, execlpeнагрузка и выполнять новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются индивидуально.ДОС, Win, OS / 2, POSIX
execv, execve, execvp, execvpeзагрузить и выполнить новый дочерний процесс, поместив его в память, ранее занятую родительским процессом. Параметры передаются в виде массива указателей.ДОС, Win, OS / 2, POSIX
spawnl, spawnle, spawnlp, spawnlpeзагрузить и выполнить новый дочерний процесс. Параметры передаются индивидуально.ДОС, Win, OS / 2
spawnv, spawnve, spawnvp, spawnvpeзагрузить и выполнить новый дочерний процесс. Параметры передаются в виде массива указателей.ДОС, Win, OS / 2
beginthread, beginthreadNTсоздает новый поток выполнения в текущем процессе.Победа, OS / 2
конец нитизавершает поток, созданный beginthread.Победа, OS / 2
Getpidвозвращает идентификатор процесса.ДОС, Win, OS / 2
Cexitвосстановить векторы прерывания, измененные кодом запуска.ДОС, Win, OS / 2

Константы членов

ИмяОписаниеПримечанияОперационные системы
_P_WAITПриостанавливает родительский процесс до тех пор, пока дочерний процесс не завершит выполнение.синхронный нерест.MS-DOS, Win32, OS / 2
_P_NOWAIT, _P_NOWAITOПродолжает выполнять вызывающий процесс одновременно с новым процессом.асинхронный порождение.Win32, OS / 2
_P_OVERLAYНакладывает родительский процесс на дочерний, который уничтожает родительский процесс.имеет тот же эффект, что и exec * функции.MS-DOS, Win32, OS / 2
_P_DETACHРебенок работает в фоновом режиме без доступа к консоли или клавиатуре.Звонки в _cwait при новом процессе не удастся. Асинхронный спавн.Win32, OS / 2
_WAIT_CHILDиспользуется как cwait действие.Устарело на Win32.MS-DOS, OS / 2
_WAIT_GRANDCHILDиспользуется как cwait действие.Устарело на Win32.MS-DOS, OS / 2

Реализации

Учитывая тот факт, что не существует стандарта, на котором можно было бы основывать реализацию, функции, объявленные в process.h, различаются в зависимости от используемого компилятора. Ниже приведен список компиляторов, которые предоставляют process.h.

Отличия

Другой аспект, который может отличаться, - это общая длина параметров exec * и spawn *.

  • Делори DJGPP: такого лимита нет.[15]
  • Цифровой Марс: максимум 128 байт; о финальном персонаже ничего не говорится.
  • Microsoft cl: список аргументов для нового процесса не должен превышать 1024 байта.[16]

Рекомендации

  1. ^ «Авторские права 1985 鈥 9, Microsoft Corporation», в QuickC версия 2.00 файл process.h
  2. ^ Отформатирована ли моя дискета?, groups-beta.google.com
  3. ^ Delorie.com
  4. ^ DJGPP process.h, delorie.com
  5. ^ Openwatcom.org В архиве 2015-03-17 на Wayback Machine
  6. ^ OpenWatcom clib В архиве 2006-10-11 на Wayback Machine, openwatcom.org
  7. ^ DigitalMars.com
  8. ^ Цифровой Марс process.h, digitalmars.com
  9. ^ MinGW.org
  10. ^ "MSDN.Microsoft.com". Архивировано из оригинал на 2007-07-07. Получено 2007-01-15.
  11. ^ "Borland.com". Архивировано из оригинал на 2012-11-05. Получено 2007-01-15.
  12. ^ C версия 2.01[постоянная мертвая ссылка ], dn.codegear.com
  13. ^ CS.Virginia.edu
  14. ^ QNX.com
  15. ^ Возрождение DJGPP *, delorie.com
  16. ^ Microsoft MSDN, msdn.microsoft.com

внешняя ссылка