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 |
endthread |
beginthread 로 만들어진 프로세스를 종료한다. |
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_CHILD |
cwait 동작에 사용된다. |
Win32에는 쓰이지 않는다. | MS-DOS,OS/2 |
_WAIT_GRANDCHILD |
cwait 동작에 사용된다. |
Win32에는 쓰이지 않는다. | MS-DOS,OS/2 |
구현 편집
어떤 표준도 없이 구현된 것을 감안하여 각 컴파일러의 헤더 파일에 따라 사용해야 한다. 아래는 process.h을 지원하는 컴파일러 목록이다.
차이점 편집
한편 exec*와 spawn* 매개변수의 혼합 길이가 변경될 수도 있다.
참조 편집
- ↑ First reference to process.h[깨진 링크(과거 내용 찾기)], groups-beta.google.com
- ↑ Delorie.com
- ↑ DJGPP process.h, delorie.com
- ↑ “Openwatcom.org”. 2015년 3월 17일에 원본 문서에서 보존된 문서. 2015년 3월 17일에 확인함.
- ↑ OpenWatcom clib Archived 2006년 10월 11일 - 웨이백 머신, openwatcom.org
- ↑ DigitalMars.com
- ↑ Digital Mars process.h, digitalmars.com
- ↑ “MinGW.org”. 2006년 8월 28일에 원본 문서에서 보존된 문서. 2011년 2월 19일에 확인함.
- ↑ “MSDN.Microsoft.com”. 2007년 7월 7일에 원본 문서에서 보존된 문서. 2011년 2월 19일에 확인함.
- ↑ “Borland.com”. 2012년 11월 5일에 원본 문서에서 보존된 문서. 2012년 11월 5일에 확인함.
- ↑ C version 2.01[깨진 링크(과거 내용 찾기)], dn.codegear.com
- ↑ CS.Virginia.edu
- ↑ QNX.com
- ↑ DJGPP spawn*, delorie.com
- ↑ Microsoft MSDN, msdn.microsoft.com