FORK.2
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:3k
- FORK(2) Minix Programmer's Manual FORK(2)
- NAME
- fork - create a new process
- SYNOPSIS
- #include <sys/types.h>
- #include <unistd.h>
- pid_t fork(void)
- DESCRIPTION
- Fork causes creation of a new process. The new process (child process)
- is an exact copy of the calling process except for the following:
- The child process has a unique process ID.
- The child process has a different parent process ID (i.e., the
- process ID of the parent process).
- The child process has its own copy of the parent's descriptors.
- These descriptors reference the same underlying objects, so that,
- for instance, file pointers in file objects are shared between the
- child and the parent, so that an lseek(2) on a descriptor in the
- child process can affect a subsequent read or write by the parent.
- This descriptor copying is also used by the shell to establish
- standard input and output for newly created processes as well as to
- set up pipes.
- The child starts with no pending signals and an inactive alarm
- timer.
- RETURN VALUE
- Upon successful completion, fork returns a value of 0 to the child
- process and returns the process ID of the child process to the parent
- process. Otherwise, a value of -1 is returned to the parent process, no
- child process is created, and the global variable errno is set to
- indicate the error.
- ERRORS
- Fork will fail and no child process will be created if one or more of the
- following are true:
- [EAGAIN] The system-imposed limit on the total number of processes
- under execution would be exceeded. This limit is
- configuration-dependent. (The kernel variable NR_PROCS in
- <minix/config.h> (Minix), or <minix/const.h> (Minix-vmd).)
- [ENOMEM] There is insufficient (virtual) memory for the new
- process.
- BSD May 22, 1986 1
- FORK(2) Minix Programmer's Manual FORK(2)
- SEE ALSO
- execve(2), wait(2).
- BSD May 22, 1986 2