본문으로 이동

process.h

위키백과, 우리 모두의 백과사전.

process.h는 스레드와 프로세스 작업에 쓰이는 함수 정의와 매크로가 포함된 C 언어의 헤더 파일이다. ANSI/ISO C나 POSIX 표준에서는 헤더 파일 또는 함수가 구현되어 있지 않다. 수많은 C 컴파일러는 도스, 윈도우 3.1x, Win32, OS/2, 넷웨어, 도스 익스텐더에 적용할 자신의 라이브러리의 헤더 파일과 라이브러리 함수에 타겟이 맞춰져 있다.

역사

[편집]

첫 파일 참조는 1986년 10월 26일에 돌아간 Net.Micro.PC 유즈넷의 포스트에 있다.[1] 컴파일러는 마이크로소프트 C 컴파일러 3.0 버전에 사용되었다. Lattice C 컴파일러 3.30 (1988년 8월 24일)은 헤더 파일을 갖지 않고, 유사한 함수가 제공된다. 볼랜드에서는 헤더 파일이 터보 C 컴파일러 2.01 버전에서 제공된다. C 웨어-퍼스널 C 컴파일러 1.2c 버전 (6월 1989)는 ANSI 헤더 파일만을 갖는다.

멤버 함수

[편집]
이름내용적용 운영 체제
execl, execle, execlp, execlpe부모 프로세스가 이전에 할당받은 메모리에 위치한 자식 프로세스를 로드하고 실행한다. 개별적으로 매개변수를 들어간다.DOS,Win,OS/2,POSIX
execv, execve, execvp, execvpe부모 프로세스가 이전에 할당받은 메모리에 위치한 새 자식 프로세스를 로드하고 실행한다. 매개변수는 포인터의 배열로 들어간다.DOS,Win,OS/2,POSIX
spawnl, spawnle, spawnlp, spawnlpe자식 프로세스를 로드하고 실행한다. 개별적으로 매개변수를 들어간다.DOS,Win,OS/2
spawnv, spawnve, spawnvp, spawnvpe새 자식 프로세스를 로드하고 실행한다. 매개변수는 포인터의 배열로 들어간다.DOS,Win,OS/2
beginthread, beginthreadNT현재 프로세스 동안 실행에 관한 새 스레드를 만든다.Win,OS/2
endthreadbeginthread로 만들어진 프로세스를 종료한다.Win,OS/2
getpid프로세스 식별자를 반환한다.DOS,Win,OS/2
cexit시작 코드에 의해 변경된 인터럽트 벡터를 원래대로 되돌린다.DOS,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_CHILDcwait 동작에 사용된다.Win32에는 쓰이지 않는다.MS-DOS,OS/2
_WAIT_GRANDCHILDcwait 동작에 사용된다.Win32에는 쓰이지 않는다.MS-DOS,OS/2

구현

[편집]

어떤 표준도 없이 구현된 것을 감안하여 각 컴파일러의 헤더 파일에 따라 사용해야 한다. 아래는 process.h을 지원하는 컴파일러 목록이다.

차이점

[편집]

한편 exec*와 spawn* 매개변수의 혼합 길이가 변경될 수도 있다.

  • Delorie DJGPP : 제한을 가지지 않는다.[14]
  • 디지털 마르스 : 최댓값이 128바이트이며 '\0' 문자로 끝내야 될 필요는 없다.
  • 마이크로소프트 비주얼 C++ : 새 프로세스의 매개변수는 반드시 1024 바이트를 넘지 않아야 된다.[15]

참조

[편집]
  1. ↑ First reference to process.h[깨진 링크(과거 내용 찾기)], groups-beta.google.com
  2. ↑ Delorie.com
  3. ↑ DJGPP process.h, delorie.com
  4. ↑ “Openwatcom.org”. 2015년 3월 17일에 원본 문서에서 보존된 문서. 2015년 3월 17일에 확인함.
  5. ↑ OpenWatcom clib 보관됨 2006-10-11 - 웨이백 머신, openwatcom.org
  6. ↑ DigitalMars.com
  7. ↑ Digital Mars process.h, digitalmars.com
  8. ↑ “MinGW.org”. 2006년 8월 28일에 원본 문서에서 보존된 문서. 2011년 2월 19일에 확인함.
  9. ↑ “MSDN.Microsoft.com”. 2007년 7월 7일에 원본 문서에서 보존된 문서. 2011년 2월 19일에 확인함.
  10. ↑ “Borland.com”. 2012년 11월 5일에 원본 문서에서 보존된 문서. 2012년 11월 5일에 확인함.
  11. ↑ C version 2.01 보관됨 2011-07-10 - archive.today, dn.codegear.com
  12. ↑ CS.Virginia.edu
  13. ↑ QNX.com
  14. ↑ DJGPP spawn*, delorie.com
  15. ↑ Microsoft MSDN, msdn.microsoft.com

외부 링크

[편집]