DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(guile.info.gz) Processes

Info Catalog (guile.info.gz) Runtime Environment (guile.info.gz) POSIX (guile.info.gz) Signals
 
 38.7 Processes
 ==============
 
  -- Scheme Procedure: chdir str
  -- C Function: scm_chdir (str)
      Change the current working directory to PATH.  The return value is
      unspecified.
 
  -- Scheme Procedure: getcwd
  -- C Function: scm_getcwd ()
      Return the name of the current working directory.
 
  -- Scheme Procedure: umask [mode]
  -- C Function: scm_umask (mode)
      If MODE is omitted, returns a decimal number representing the
      current file creation mask.  Otherwise the file creation mask is
      set to MODE and the previous value is returned.
 
      E.g., `(umask #o022)' sets the mask to octal 22, decimal 18.
 
  -- Scheme Procedure: chroot path
  -- C Function: scm_chroot (path)
      Change the root directory to that specified in PATH.  This
      directory will be used for path names beginning with `/'.  The
      root directory is inherited by all children of the current
      process.  Only the superuser may change the root directory.
 
  -- Scheme Procedure: getpid
  -- C Function: scm_getpid ()
      Return an integer representing the current process ID.
 
  -- Scheme Procedure: getgroups
  -- C Function: scm_getgroups ()
      Return a vector of integers representing the current supplementary
      group IDs.
 
  -- Scheme Procedure: getppid
  -- C Function: scm_getppid ()
      Return an integer representing the process ID of the parent
      process.
 
  -- Scheme Procedure: getuid
  -- C Function: scm_getuid ()
      Return an integer representing the current real user ID.
 
  -- Scheme Procedure: getgid
  -- C Function: scm_getgid ()
      Return an integer representing the current real group ID.
 
  -- Scheme Procedure: geteuid
  -- C Function: scm_geteuid ()
      Return an integer representing the current effective user ID.  If
      the system does not support effective IDs, then the real ID is
      returned.  `(feature? 'EIDs)' reports whether the system supports
      effective IDs.
 
  -- Scheme Procedure: getegid
  -- C Function: scm_getegid ()
      Return an integer representing the current effective group ID.  If
      the system does not support effective IDs, then the real ID is
      returned.  `(feature? 'EIDs)' reports whether the system supports
      effective IDs.
 
  -- Scheme Procedure: setuid id
  -- C Function: scm_setuid (id)
      Sets both the real and effective user IDs to the integer ID,
      provided the process has appropriate privileges.  The return value
      is unspecified.
 
  -- Scheme Procedure: setgid id
  -- C Function: scm_setgid (id)
      Sets both the real and effective group IDs to the integer ID,
      provided the process has appropriate privileges.  The return value
      is unspecified.
 
  -- Scheme Procedure: seteuid id
  -- C Function: scm_seteuid (id)
      Sets the effective user ID to the integer ID, provided the process
      has appropriate privileges.  If effective IDs are not supported,
      the real ID is set instead - `(feature? 'EIDs)' reports whether the
      system supports effective IDs.  The return value is unspecified.
 
  -- Scheme Procedure: setegid id
  -- C Function: scm_setegid (id)
      Sets the effective group ID to the integer ID, provided the process
      has appropriate privileges.  If effective IDs are not supported,
      the real ID is set instead - `(feature? 'EIDs)' reports whether the
      system supports effective IDs.  The return value is unspecified.
 
  -- Scheme Procedure: getpgrp
  -- C Function: scm_getpgrp ()
      Return an integer representing the current process group ID.  This
      is the POSIX definition, not BSD.
 
  -- Scheme Procedure: setpgid pid pgid
  -- C Function: scm_setpgid (pid, pgid)
      Move the process PID into the process group PGID.  PID or PGID
      must be integers: they can be zero to indicate the ID of the
      current process.  Fails on systems that do not support job control.
      The return value is unspecified.
 
  -- Scheme Procedure: setsid
  -- C Function: scm_setsid ()
      Creates a new session.  The current process becomes the session
      leader and is put in a new process group.  The process will be
      detached from its controlling terminal if it has one.  The return
      value is an integer representing the new process group ID.
 
  -- Scheme Procedure: waitpid pid [options]
  -- C Function: scm_waitpid (pid, options)
      This procedure collects status information from a child process
      which has terminated or (optionally) stopped.  Normally it will
      suspend the calling process until this can be done.  If more than
      one child process is eligible then one will be chosen by the
      operating system.
 
      The value of PID determines the behaviour:
 
     PID greater than 0
           Request status information from the specified child process.
 
     PID equal to -1 or WAIT_ANY
           Request status information for any child process.
 
     PID equal to 0 or WAIT_MYPGRP
           Request status information for any child process in the
           current process group.
 
     PID less than -1
           Request status information for any child process whose
           process group ID is -PID.
 
      The OPTIONS argument, if supplied, should be the bitwise OR of the
      values of zero or more of the following variables:
 
       -- Variable: WNOHANG
           Return immediately even if there are no child processes to be
           collected.
 
       -- Variable: WUNTRACED
           Report status information for stopped processes as well as
           terminated processes.
 
      The return value is a pair containing:
 
        1. The process ID of the child process, or 0 if `WNOHANG' was
           specified and no process was collected.
 
        2. The integer status value.
 
    The following three functions can be used to decode the process
 status code returned by `waitpid'.
 
  -- Scheme Procedure: status:exit-val status
  -- C Function: scm_status_exit_val (status)
      Return the exit status value, as would be set if a process ended
      normally through a call to `exit' or `_exit', if any, otherwise
      `#f'.
 
  -- Scheme Procedure: status:term-sig status
  -- C Function: scm_status_term_sig (status)
      Return the signal number which terminated the process, if any,
      otherwise `#f'.
 
  -- Scheme Procedure: status:stop-sig status
  -- C Function: scm_status_stop_sig (status)
      Return the signal number which stopped the process, if any,
      otherwise `#f'.
 
  -- Scheme Procedure: system [cmd]
  -- C Function: scm_system (cmd)
      Execute CMD using the operating system's "command processor".
      Under Unix this is usually the default shell `sh'.  The value
      returned is CMD's exit status as returned by `waitpid', which can
      be interpreted using the functions above.
 
      If `system' is called without arguments, return a boolean
      indicating whether the command processor is available.
 
  -- Scheme Procedure: primitive-exit [status]
  -- C Function: scm_primitive_exit (status)
      Terminate the current process without unwinding the Scheme stack.
      This is would typically be useful after a fork.  The exit status
      is STATUS if supplied, otherwise zero.
 
  -- Scheme Procedure: execl filename . args
  -- C Function: scm_execl (filename, args)
      Executes the file named by PATH as a new process image.  The
      remaining arguments are supplied to the process; from a C program
      they are accessible as the `argv' argument to `main'.
      Conventionally the first ARG is the same as PATH.  All arguments
      must be strings.
 
      If ARG is missing, PATH is executed with a null argument list,
      which may have system-dependent side-effects.
 
      This procedure is currently implemented using the `execv' system
      call, but we call it `execl' because of its Scheme calling
      interface.
 
  -- Scheme Procedure: execlp filename . args
  -- C Function: scm_execlp (filename, args)
      Similar to `execl', however if FILENAME does not contain a slash
      then the file to execute will be located by searching the
      directories listed in the `PATH' environment variable.
 
      This procedure is currently implemented using the `execvp' system
      call, but we call it `execlp' because of its Scheme calling
      interface.
 
  -- Scheme Procedure: execle filename env . args
  -- C Function: scm_execle (filename, env, args)
      Similar to `execl', but the environment of the new process is
      specified by ENV, which must be a list of strings as returned by
      the `environ' procedure.
 
      This procedure is currently implemented using the `execve' system
      call, but we call it `execle' because of its Scheme calling
      interface.
 
  -- Scheme Procedure: primitive-fork
  -- C Function: scm_fork ()
      Creates a new "child" process by duplicating the current "parent"
      process.  In the child the return value is 0.  In the parent the
      return value is the integer process ID of the child.
 
      This procedure has been renamed from `fork' to avoid a naming
      conflict with the scsh fork.
 
  -- Scheme Procedure: nice incr
  -- C Function: scm_nice (incr)
      Increment the priority of the current process by INCR.  A higher
      priority value means that the process runs less often.  The return
      value is unspecified.
 
  -- Scheme Procedure: setpriority which who prio
  -- C Function: scm_setpriority (which, who, prio)
      Set the scheduling priority of the process, process group or user,
      as indicated by WHICH and WHO. WHICH is one of the variables
      `PRIO_PROCESS', `PRIO_PGRP' or `PRIO_USER', and WHO is interpreted
      relative to WHICH (a process identifier for `PRIO_PROCESS',
      process group identifier for `PRIO_PGRP', and a user identifier
      for `PRIO_USER'.  A zero value of WHO denotes the current process,
      process group, or user.  PRIO is a value in the range -20 and 20,
      the default priority is 0; lower priorities cause more favorable
      scheduling.  Sets the priority of all of the specified processes.
      Only the super-user may lower priorities.  The return value is not
      specified.
 
  -- Scheme Procedure: getpriority which who
  -- C Function: scm_getpriority (which, who)
      Return the scheduling priority of the process, process group or
      user, as indicated by WHICH and WHO. WHICH is one of the variables
      `PRIO_PROCESS', `PRIO_PGRP' or `PRIO_USER', and WHO is interpreted
      relative to WHICH (a process identifier for `PRIO_PROCESS',
      process group identifier for `PRIO_PGRP', and a user identifier
      for `PRIO_USER'.  A zero value of WHO denotes the current process,
      process group, or user.  Return the highest priority (lowest
      numerical value) of any of the specified processes.
 
Info Catalog (guile.info.gz) Runtime Environment (guile.info.gz) POSIX (guile.info.gz) Signals
automatically generated byinfo2html