Go to the previous, next section.
This package contains utilities for invoking services from the
operating system. At the time of writing this documentation, these
services are only available on UNIX platforms. To load the
package, enter the query
| ?- use_module(library(system)).
Certain predicates described below take names of files or directories as
arguments. These must be given as atoms, and the predicates below will
not call absolute_file_name/2
on them.
- @
- Datime is a timestamp of the form
datime(Year,Month,Day,Hour,Min,Sec)
containing the current date and time. All fields are integers.
- @
- OldName is the name of an existing file or directory, which will
be deleted. If the operation fails, an exception is raised.
- @
- Var is the name of an environment variable, and Value is
its value. Both are atoms. Can be used to enumerate all current
environment variables.
- @
- Passes Command to a new Bourne shell process for execution. The
standard I/O streams of the new process are connected according to what
is specified by the terms +Stdin, +Stdout, and +Stderr
respectively. Possible values are:
- @
- Connected to `/dev/null'.
- @
- The standard stream is shared with the calling process.
- @
- A pipe is created which connects the Prolog stream Stream to the
standard stream of the new process.
Pid is the process identifier of the new process.
- file_exists(+FileName)
FileName is the name of an existing file or directory.
- file_exists(+FileName, +Permissions)
FileName is the name of an existing file or directory which can be
accessed according to Permissions. Permissions is an atom,
an integer (see access(2)), or a list of atoms and/or integers. The
atoms must be drawn from the list
[read,write,search,exists]
.
- host_id(-HID)
HID is the unique identifier, represented by an atom, of the host
executing the current SICStus Prolog process.
- host_name(-HostName)
HostName is the standard host name of the host executing the current
SICStus Prolog process.
- pid(-PID)
PID is the identifier of the current SICStus Prolog process.
- kill(+Pid, +Signal)
Sends the signal Signal to process Pid.
- mktemp(+Template, -FileName)
Interface to the UNIX function mktemp(3). A unique file name is created
and unified with FileName. Template should contain a file
name with six trailing Xs. The file name is that template with
the six Xs replaced with a letter and the process id.
- popen(+Command, +Mode, ?Stream)
Interface to the UNIX function
popen(3)
. Passes Command to
a new Bourne shell process for execution. Mode may be either
read
or write
. In the former case the output from the
process is piped to Stream. In the latter case the input to the
process is piped from Stream. Stream may be read/written
using the ordinary StreamIO predicates. It must be closed using
close/1
.
- rename_file(+OldName, +NewName)
OldName is the name of an existing file or directory, which will be
renamed to NewName. If the operation fails, an exception is raised.
- shell
Starts a new interactive shell named by the environment variable
SHELL
. The control is returned to Prolog upon termination of the
shell process.
- shell(+Command)
Passes Command to a new shell named by the environment variable
SHELL
for execution. Succeeds if the return status value is 0.
- shell(+Command, -Status)
Passes Command to a new shell named by the environment variable
SHELL
for execution. The status value is returned in
Status.
- sleep(+Seconds)
Puts the SICStus Prolog process asleep for Second seconds.
- system
Starts a new interactive Bourne shell process. The control is returned to
Prolog upon termination of the shell process.
- system(+Command)
Passes Command to a new Bourne shell process for execution. Succeeds if
the return status value is 0.
- system(+Command, -Status)
Passes Command to a new Bourne shell process for execution. The
status value is returned in Status.
- wait(+Pid, -Status)
Waits for the child process Pid to terminate. The exit status is
returned in Status. The function is similar to that of the UNIX
function
waitpid(3)
.
- working_directory(?OldDirectory, ?NewDirectory)
OldDirectory is the current working directory, and the working
directory is set to NewDirectory. In particular, the goal
working_directory(Dir,Dir)
unifies Dir with the
current working directory without changing anything.
Go to the previous, next section.