home *** CD-ROM | disk | FTP | other *** search
-
- VFORK(2) UNIX Programmer's Manual VFORK(2)
-
- NNAAMMEE
- vvffoorrkk - spawn new process in a virtual memory efficient way
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<uunniissttdd..hh>>
-
- _i_n_t
- vvffoorrkk(_v_o_i_d)
-
- DDEESSCCRRIIPPTTIIOONN
- VVffoorrkk() can be used to create new processes without fully copying the ad
- dress space of the old process, which is horrendously inefficient in a
- paged environment. It is useful when the purpose of fork(2) would have
- been to create a new system context for an execve. VVffoorrkk() differs from
- fork in that the child borrows the parent's memory and thread of control
- until a call to execve(2) or an exit (either by a call to exit(2) or ab
- normally.) The parent process is suspended while the child is using its
- resources.
-
- VVffoorrkk() returns 0 in the child's context and (later) the pid of the child
- in the parent's context.
-
- VVffoorrkk() can normally be used just like fork. It does not work, however,
- to return while running in the childs context from the procedure that
- called vvffoorrkk() since the eventual return from vvffoorrkk() would then return
- to a no longer existent stack frame. Be careful, also, to call _exit
- rather than exit if you can't execve, since exit will flush and close
- standard I/O channels, and thereby mess up the parent processes standard
- I/O data structures. (Even with fork it is wrong to call exit since
- buffered data would then be flushed twice.)
-
- SSEEEE AALLSSOO
- fork(2), execve(2), sigvec(2), wait(2),
-
- DDIIAAGGNNOOSSTTIICCSS
- Same as for fork.
-
- BBUUGGSS
- This system call will be eliminated when proper system sharing mechanisms
- are implemented. Users should not depend on the memory sharing semantics
- of vfork as it will, in that case, be made synonymous to fork.
-
- To avoid a possible deadlock situation, processes that are children in
- the middle of a vvffoorrkk() are never sent SIGTTOU or SIGTTIN signals;
- rather, output or ioctl(2) calls are allowed and input attempts result in
- an endoffile indication.
-
- HHIISSTTOORRYY
- The vvffoorrkk function call appeared in 3.0BSD.
-
- 4th Berkeley Distribution March 10, 1991 1
-
-
-
-
-
-
-
-
-
-
-
-
-