tail head cat sleep
QR code linking to this page

Man page  — FORK

명칭

fork – 새로운 프로세스를 작성한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <sys/types.h>
#include <unistd.h>

pid_t
fork(void);

해설

fork() 에 의해 새로운 프로세스의 작성을 합니다. 새로운 프로세스 (child process)는, 이하의 항목을 제외한 호출 프로세스 (parent process)의 정확한 카피입니다.

반환값

정상적으로 완료했을 경우, fork() (은)는, child process에 값 0 을 돌려주어, child process의 프로세스 ID 를 parent process에 돌려줍니다. 그렇지 않은 경우는 -1 이 parent process에 돌려주어져 child process는 작성되지 않고 , 에러를 나타내기 위해서(때문에) 글로벌 변수 errno 하지만 설정됩니다.

에러

다음의 경우에 fork() (은)는 처리에 실패해, child process는 작성되지 않습니다.
[EAGAIN]
  실행중의 프로세스의 합계수가 시스템의 한계를 넘습니다. 한계치는 sysctl(3) 의 MIB 변수의 KERN_MAXPROC 에 의해 지정됩니다 (슈퍼 유저를 제외해, 실제로는 한계는 이것보다 10 개 적게 됩니다).
[EAGAIN]
  유저가 슈퍼 유저가 아니고, 1 명의 유저에 의해 실행중의 프로세스의 합계수에 시스템이 부과한다 한계를 넘습니다. 한계는 sysctl(3) 의 MIB 변수의 KERN_MAXPROCPERUID 에 의해 지정됩니다.
[EAGAIN]
  유저가 슈퍼 유저가 아니고, 리소스 파라미터의 RLIMIT_NPROC 에 대응하는 소프트 리소스 한계를 넘습니다. (getrlimit(2) (을)를 참조).
[ENOMEM]
  새로운 프로세스용의 스왑 공간이 불충분합니다.

관련 항목

execve(2), rfork(2), setitimer(2), setrlimit(2), vfork(2), wait(2)

역사

fork() 함수는 AT&T v6 그리고 등장했습니다.

FORK (2) June 4, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

The last good thing written in C was Franz Schubert's Symphony #9.
— Erwin Dietrich