add directory Minix
This commit is contained in:
123
Minix/2.0.0/wwwman/man2/fork.2.html
Normal file
123
Minix/2.0.0/wwwman/man2/fork.2.html
Normal file
@@ -0,0 +1,123 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>fork(2)</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<H1>fork(2)</H1>
|
||||
<HR>
|
||||
<PRE>
|
||||
|
||||
</PRE>
|
||||
<H2>NAME</H2><PRE>
|
||||
fork - create a new process
|
||||
|
||||
|
||||
</PRE>
|
||||
<H2>SYNOPSIS</H2><PRE>
|
||||
<STRONG>#include</STRONG> <STRONG><sys/types.h></STRONG>
|
||||
<STRONG>#include</STRONG> <STRONG><unistd.h></STRONG>
|
||||
|
||||
<STRONG>pid_t</STRONG> <STRONG>fork(void)</STRONG>
|
||||
|
||||
|
||||
</PRE>
|
||||
<H2>DESCRIPTION</H2><PRE>
|
||||
<STRONG>Fork</STRONG> 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 <STRONG><A HREF="../man2/lseek.2.html">lseek(2)</A></STRONG> on a descriptor in the
|
||||
child process can affect a subsequent <STRONG>read</STRONG> or <STRONG>write</STRONG> 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.
|
||||
|
||||
|
||||
</PRE>
|
||||
<H2>RETURN VALUE</H2><PRE>
|
||||
Upon successful completion, <STRONG>fork</STRONG> 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 <STRONG>errno</STRONG> is set to
|
||||
indicate the error.
|
||||
|
||||
|
||||
</PRE>
|
||||
<H2>ERRORS</H2><PRE>
|
||||
<STRONG>Fork</STRONG> 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.
|
||||
|
||||
|
||||
|
||||
</PRE>
|
||||
<H2>SEE ALSO</H2><PRE>
|
||||
<STRONG><A HREF="../man2/execve.2.html">execve(2)</A></STRONG>, <STRONG><A HREF="../man2/wait.2.html">wait(2)</A></STRONG>.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</PRE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user