Copyright (c) 1983, 1993
The Regents of the University of California. All rights reserved.
%sccs.include.proprietary.roff%
@(#)fork.3 8.1 (Berkeley) 06/05/93
The Regents of the University of California. All rights reserved.
%sccs.include.proprietary.roff%
@(#)fork.3 8.1 (Berkeley) 06/05/93
FORK 3F ""
C 5 NAME
fork - create a copy of this process
SYNOPSIS
integer function fork() DESCRIPTION
Fork creates a copy of the calling process.
The only distinction between the 2 processes is that the value
returned to one of them (referred to as the `parent' process)
will be the process id of the copy.
The copy is usually referred to as the `child' process.
The value returned to the `child' process will be zero.
All logical units open for writing are flushed before the fork to avoid duplication of the contents of I/O buffers in the external file(s).
If the returned value is negative, it indicates an error and will be the negation of the system error code. See perror(3F).
A corresponding exec routine has not been provided because there is no satisfactory way to retain open logical units across the exec. However, the usual function of fork/exec can be performed using system (3F). A pipe can be opened to another process using the f77 open statement with "file=\(fmprocess\(fm, status=\(fmpipe\(fm, access=\(fmread\(fm"
or
"file=\(fmprocess\(fm, status=\(fmpipe\(fm, access=\(fmwrite\(fm" \}
FILES
"SEE ALSO"
fork(2), wait(3F), kill(3F), system(3F), perror(3F)