fork man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

fork(2)								       fork(2)

       fork() - create a new process


       The  system  call  causes the creation of a new process.	 The new child
       process is created with exactly one thread or lightweight process.  The
       new  child  process  contains  a	 replica of the calling thread (if the
       calling process is multi-threaded) and its entire address space, possi‐
       bly including the state of mutexes and other resources.

       If  the	calling	 process is multi-threaded, the child process may only
       execute async-signal safe functions until one of the exec functions  is
       called.	Fork handlers may be installed via in order to maintain appli‐
       cation invariants across calls (i.e, release resources such as  mutexes
       in the child process).

       The  child  process  inherits  the following attributes from the parent

	      ·	 Real, effective, and saved user IDs.
	      ·	 Real, effective, and saved group IDs.
	      ·	 List of supplementary group IDs (see getgroups(2)).
	      ·	 Process group ID.
	      ·	 Environment.
	      ·	 File descriptors.
	      ·	 Close-on-exec flags (see exec(2)).
	      ·	 Signal handling settings address).
	      ·	 Signal mask (see sigprocmask(2)).
	      ·	 Profiling on/off status (see profil(2)).
	      ·	 Command name in the accounting record (see acct(4)).
	      ·	 Nice value (see nice(2)).
	      ·	 All attached shared memory segments (see shmop(2)).
	      ·	 Current working directory.
	      ·	 Root directory (see chroot(2)).
	      ·	 File mode creation mask (see umask(2)).
	      ·	 File size limit (see ulimit(2)).
	      ·	 Real-time priority (see rtprio(2)).
	      ·	 Fine-grained privileges (if installed) (see privileges(5)).
	      ·	 Compartments  (if  installed  and  enabled)   (see   compart‐
	      ·	 The trace flag (see the ttrace(2) request).
	      ·	 Core file settings (see coreadm(2) and coreadm(1M)).

       Each of the child's file descriptors shares a common open file descrip‐
       tion with the  corresponding  file  descriptor  of  the	parent.	  This
       implies	that  changes  to  the file offset, file access mode, and file
       status flags of file descriptors in the parent also affect those in the
       child, and vice-versa.

       The  child  process  differs  from  the parent process in the following

	      The child process has a unique process ID.

	      The child process ID does not match any active process group ID.

	      The child process has a different parent process	ID  (which  is
	      the process ID of the parent process).

	      The  set of signals pending for the child process is initialized
	      to the empty set.

	      The flag in the component of the accounting record is set in the
	      child process.

	      Process  locks,  text locks, and data locks are not inherited by
	      the child (see plock(2)).

	      All values are cleared (see semop(2)).

	      The child	 process's  values  for	 and  are  set	to  zero  (see

	      The  time left until an alarm clock signal is reset to 0 (clear‐
	      ing any pending alarm), and all interval timers  are  set	 to  0

	      Fine-grained  privileges	are inherited through a calculation to
	      determine which, if any, of the parent process'  privileges  are
	      inherited by the child.

       The system call can be used to fork processes more quickly than but has
       some restrictions.  See vfork(2) for details.

       If a parent and child process both have a file opened and the parent or
       child closes the file, the file is still open for the other process.

   Security Restrictions
       This system call requires the privilege in order to exceed the per-user
       process limit Processes owned by the  superuser	have  this  privilege.
       Processes  owned	 by  other users may have this privilege, depending on
       system configuration.  See privileges(5)	 for  more  information	 about
       privileged access on systems that support fine-grained privileges.

       Upon successful completion, returns a value of to the child process and
       returns the process ID of the child  process  to	 the  parent  process.
       Otherwise,  a  value  of	 is  returned  to the parent process, no child
       process is created, and is set to indicate the error.

       The parent and child processes resume execution immediately  after  the
       call; they are distinguished by the value returned by

       If fails, is set to one of the following values.

	      The  system-imposed limit on the total number of processes under
			     would be exceeded.

	      The system-imposed limit on the total number of processes	 under
			     by a single user would be exceeded.

	      There is insufficient swap space and/or physical memory
			     available in which to create the new process.

	      The	     privilege	is not present in the effective set of
			     the calling process.

       Standard I/O streams (see  stdio(3S))  are  duplicated  in  the	child.
       Therefore,  if  is  called after a buffered I/O operation without first
       closing	or  flushing  the  associated	standard   I/O	 stream	  (see
       fclose(3S)), the buffered input or output might be duplicated.

   HP Process Resource Manager
       If the optional HP Process Resource Manager (PRM) software is installed
       and  configured,	 the  child  process  inherits	the  parent's  process
       resource	 group	ID.  See prmconfig(1) for a description of how to con‐
       figure HP PRM, and prmconf(4) for the definition	 of  process  resource

       was developed by AT&T, the University of California, Berkeley, and HP.

       coreadm(1M),   acct(2),	 chroot(2),   coreadm(2),   exec(2),  exit(2),
       fcntl(2),  getgroups(2),	 lockf(2),   nice(2),	plock(2),   profil(2),
       pthread_atfork(3T),   ttrace(2),	  rtprio(2),   semop(2),   setpgrp(2),
       setuid(2), shmop(2), times(2), ulimit(2), umask(2), vfork(2),  wait(2),
       fclose(3S),  stdio(3S),	acct(4),  compartments(5), privileges(5), sig‐

       HP Process Resource Manager: prmconfig(1), prmconf(4) in


List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net