Search                        Top                                  Index
HELP SYSEXECUTE                                     J.Gibson, Sept 1983

    sysexecute(<filename>,<argument_list>,<variable_list>)
    sysexecute(<filename>,<argument_list>,<variable_list>,<device_list>)

SYSEXECUTE does a UNIX "execve" system call, i.e. it runs the executable
file named by the string <filename> in place of the current POPLOG
image, passing it the strings in <argument_list> as arguments, and the
strings in <variable_list> as environment variables. If <variable_list>
is FALSE then it is replaced by the current value of *POPENVLIST. (NB.
All strings are null-terminated before being passed across; also
<argument_list> begins with the 0'th argument, i.e. that usually used
for the name of the program.) All  files  opened by  POPLOG  now  have
the  Unix 'close-on-execute'  flag set  automatically.  This  means that
on a -sysexecute-  all files  will  be closed,  except that -sysexecute-
unsets  the   flag  for  the  three   standard  devices *POPDEVIN,
*POPDEVOUT and *POPDEVERR. <device_list> is an optional (non-empty) list
of  devices  to  be  left  open  as  an  optional  4th argument  to
-sysexecute-.

See also
REF *SYSUTIL      - for more information on this and other systems utilities
HELP *POPENVLIST  - on the variable POPENVLIST
HELP *SYSEXIT     - causes an exit from the POPLOG system
HELP *SYSFORK     - forks the current POPLOG process
HELP *IO          - overview of POPLOG's I/O behaviour

--- C.unix/help/sysexecute ---------------------------------------------
--- Copyright University of Sussex 1987. All rights reserved. ----------