PXFFORK man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

PXFFORK(3F)					       Last changed: 1-6-98

NAME
     PXFFORK - Creates a process

SYNOPSIS
     SUBROUTINE PXFFORK (ipid, ierror)
     INTEGER ipid, ierror

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

DESCRIPTION
     On IRIX systems, this routine is in libfortran.so which is linked by
     default when compiling programs with the MIPSpro 7 Fortran 90 compiler
     or when compiling programs with the -craylibs option to the MIPSpro
     7.2 F77 compiler.

     The PXFFORK routine uses the fork(2) system call to create a new
     process.  The child process is the same as the parent process except
     for the following:

     * The child process has a unique, currently unused process ID.

     * The child process has a different parent process ID. The child
       process's process ID is the parent process, or calling process, ID.

     * The child process has its own copy of the parent's file descriptors.
       Each of the child's file descriptors shares a common file pointer
       with the corresponding file descriptor of the parent process.

     * Process locks are not inherited by the child process (see plock(2)).

     * The utime, stime, cutime, and cstime of the child process are set to
       0.  The time left until an alarm clock signal is reset to 0.

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

     * The parent's set of pending signals are not inherited by the child.

     UNICOS and UNICOS/mk systems only:

     * Record locks set by the parent process are not inherited by the
       child process (see fcntl(2) and lockf(3C)).

     * In a multitasking group, only the process that executed the fork
       system call is copied.

     * Each attached shared memory segment is attached and the value of
       shm_nattch in the data structure associated with the shared memory
       segment is incremented by 1.

     IRIX systems only:

     * File locks previously set by the parent are not inherited by the
       child (see fcntl(2)).

     * Page locks are not inherited (see mpin(2) on IRIX systems).

     * The time left until an itimer signal is reset to 0.

     * The child will not inherit the ability to make graphics calls.  The
       child process may receive a segmentation fault upon attempting to
       make a graphics call, unless it initializes itself as a graphics
       process via winopen() or ginit().  Currently, if the parent is a
       graphics process, the child's attempt to become a graphics process
       will fail.

     * The share mask is set to 0 (see sproc(2)).

     When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on
     UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default
     kind unless documented otherwise.	On UNICOS and UNICOS/mk, default
     kind is KIND=8 for integer, real, complex, and logical arguments; on
     IRIX, the default kind is KIND=4.

     The following is a list of arguments for this routine:

     ipid    An output integer variable. ipid will be zero for the child
	     process and the process ID of the child for the parent
	     process.

     ierror  An output integer variable that contains zero if PXFFORK was
	     successful or nonzero if PXFFORK was not successful.

     The PXFFORK routine may return any of the following error values:

     EAGAIN    If the system-imposed limit on the total number of processes
	       under execution in the whole system (NPROC) is exceeded or
	       if the system-imposed limit on the total number of processes
	       under execution by one user (CHILD_MAX) is exceeded.

     UNICOS and UNICOS/mk systems only:

     EBUSY     If you attempt to enable accounting when it is already
	       enabled, or if you issue a restart(2) attempt when another
	       job or process in the system is using the jid or any pid
	       associated with the job (or process) to be restarted.

     EINTR     If an asynchronous signal (such as interrupt or quit), which
	       you have elected to catch, occurred during a fork system
	       call.  When execution resumed after processing the signal,
	       the interrupted system call returned this error condition.

     EMEMLIM   If more memory space was requested than is allowed for the
	       processes attached to this lnode. The maximum value is set
	       by the -c option of the shradmin(8) command.  This error
	       appears only on systems running the fair-share scheduler.

     ENOEXEC   If a request was made to execute a file that, although it
	       has the appropriate permissions, does not start with a valid
	       magic number (see a.out(5)).

     ENOMEM    If during an exec(2) or sbreak(2) system call, a program
	       requested more space than the system could supply.  This is
	       not a temporary condition; the maximum space specification
	       is a system parameter.

     EPROCLIM  If more processes were requested than are allowed for this
	       lnode.  The maximum value is set by the -p option of the
	       shradmin(8) command. This error appears only on systems
	       running the fair-share scheduler.

     IRIX systems only:

     EAGAIN    If the amount of system memory required is temorarily
	       unavailable.

     ENOSPC    If the caller is a member of a share group and the total
	       number of share group members plus child processes exceeds
	       the maximum number of users specified by the usconfig(3P)
	       command (8 by default).	Any changes made with usconfig (3P)
	       must be done Ibeforethe first sproc is formed.

     ENOLCK    There are not enough file locks in the system.

EXAMPLES
	  program pxftest
	  integer ipid, ierror

	  CALL PXFFORK(ipid, ierror)
	  if (ipid .eq. 0) then
	     print *,'child'
	  else
	     print *,'parent'
	  endif
	  end

SEE ALSO
     exec(2), fcntl(2), fork(2), plock(2), restart(2), semop(2), sproc(2),
     ssbreak(2)
     shradmin(8)

     Application Programmer's Library Reference Manual, publication SR-
     2165, for the printed version of this man page.

[top]

List of man pages available for IRIX

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]
Tweet
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