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. ----------Author: J.Gibson, Sept 1983