FORK.2
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:

操作系统开发

开发平台:

C/C++

  1. FORK(2)                   Minix Programmer's Manual                    FORK(2)
  2. NAME
  3.      fork - create a new process
  4. SYNOPSIS
  5.      #include <sys/types.h>
  6.      #include <unistd.h>
  7.      pid_t fork(void)
  8. DESCRIPTION
  9.      Fork causes creation of a new process.  The new process  (child  process)
  10.      is an exact copy of the calling process except for the following:
  11.           The child process has a unique process ID.
  12.           The child process has a  different  parent  process  ID  (i.e.,  the
  13.           process ID of the parent process).
  14.           The child process has its own  copy  of  the  parent's  descriptors.
  15.           These  descriptors  reference  the same underlying objects, so that,
  16.           for instance, file pointers in file objects are shared  between  the
  17.           child  and  the  parent,  so that an lseek(2) on a descriptor in the
  18.           child process can affect a subsequent read or write by  the  parent.
  19.           This  descriptor  copying  is  also  used  by the shell to establish
  20.           standard input and output for newly created processes as well as  to
  21.           set up pipes.
  22.           The child starts with no  pending  signals  and  an  inactive  alarm
  23.           timer.
  24. RETURN VALUE
  25.      Upon successful completion, fork returns  a  value  of  0  to  the  child
  26.      process  and  returns  the  process ID of the child process to the parent
  27.      process.  Otherwise, a value of -1 is returned to the parent process,  no
  28.      child  process  is  created,  and  the  global  variable  errno is set to
  29.      indicate the error.
  30. ERRORS
  31.      Fork will fail and no child process will be created if one or more of the
  32.      following are true:
  33.      [EAGAIN]       The system-imposed limit on the total number of  processes
  34.                     under   execution   would  be  exceeded.   This  limit  is
  35.                     configuration-dependent.  (The kernel variable NR_PROCS in
  36.                     <minix/config.h> (Minix), or <minix/const.h> (Minix-vmd).)
  37.      [ENOMEM]       There  is  insufficient  (virtual)  memory  for  the   new
  38.                     process.
  39. BSD                               May 22, 1986                               1
  40. FORK(2)                   Minix Programmer's Manual                    FORK(2)
  41. SEE ALSO
  42.      execve(2), wait(2).
  43. BSD                               May 22, 1986                               2