Index of values


(<&) [Shell]
Same as assign, but infix notation.
(>&) [Shell]
Same as assign, but infix notation.
_exit [Unix_exts]
Exit the program immediately without running the atexit handlers.

A
abandon_job [Shell_sys]
Tries to get rid of a running job.
add_command [Shell_sys]
Adds a command to a job.
add_consumer [Shell_sys]
Adds a consumer to the job.
add_pipeline [Shell_sys]
Adds a pipeline which redirects the output of the command src to the input of the command dest.
add_producer [Shell_sys]
Adds a producer to the job.
assign [Shell]
Arranges a redirection such that writing to src or reading from src will actually write to target or read from target (i.e., the target descriptor is duplicated and replaces the src descriptor just before the process is launched.)
assigned_pair [Shell]
Returns the target and the source of the assignment as pair of descriptors (target,src).

C
call [Shell_sys]
Executes the command and waits until the process terminates (synchronous execution a la system, but no intermediate shell).
call [Shell]
Starts the pipeline represented by the list of commands; i.e.
call_job [Shell_sys]
Starts the job (see run_job) and waits until it finishes (see finish_job); i.e.
cmd [Shell]
The same as command but with a slightly different interface: Use
 cmd "ls" [ "/dir/file" ] 
instead of
 command ~arguments:[|"/dir/file"|] "ls" 
command [Shell_sys]
Creates a command from the passed arguments:
command [Shell]
Creates a command descriptor, to be used in call.
command_of_process [Shell_sys]
Returns the command that is now running as the process
configure_job_handlers [Shell_sys]
Configures signal and at_exit handlers for jobs: The keyboard signals SIGINT and SIGQUIT are forwarded to all jobs which are running in the background (and thus are not automatically notified) and want to get such signals (forward_signals). After the signals have been forwarded, the previous signal action is performed., The signals SIGTERM and SIGHUP are (if the handler is installed) forwarded to all dependent processes (regardless whether they are running in their own Unix process group or not, and regardless of forward_signals). After the signals have been forwarded, the previous signal action is performed., The at_exit handler sends a SIGTERM to all dependent processes, too., the SIGCHLD handler calls watch_for_zombies. After this function is called, the previous signal action is performed; however if the previous action was Signal_ignore this is incorrectly interpreted as empty action (zombies are not avoided), The handler for SIGPIPE does nothing; note that a previous action is overwritten (the parameter is called set_sigpipe to stress this) Dependent processes are: For jobs with mode = Foreground or Background: the processes of the corresponding Unix process group, For jobs with mode = Same_as_caller: the actually started children processes Note that if an uncaught exception leads to program termination, this situation will not be detected; any running jobs will not be terminated (sorry, this cannot be fixed).
copy_command [Shell_sys]
Returns a duplicate of the command description
copy_env [Shell_sys]
Copies an environment
create_env [Shell_sys]
Creates an empty environment
ctermid [Unix_exts]
Returns the name of the controlling tty of the current process as pathname to a device file
current_env [Shell_sys]
Returns the environment of the current process as abstract environment value

F
file_descr_of_int [Unix_exts]
Make a file descriptor from an integer
finish_job [Shell_sys]
Waits until all of the processes of the job have terminated.
from_dev_null [Shell]
A producer taking the data from /dev/null.
from_fd [Shell]
Creates a producer taking the data from the file descriptor passed to this function.
from_file [Shell]
Creates a producer taking the data from the file whose name is passed to this function.
from_function [Shell]
Creates a producer taking the data from a function.
from_stream [Shell_sys]
from_stream ?epipe s returns a function which can be used as producer argument for add_producer.
from_stream [Shell]
Creates a producer taking the data from a stream of strings.
from_string [Shell_sys]
from_string ?pos ?len ?epipe s returns a function which can be used as producer argument for add_producer.
from_string [Shell]
Creates a producer taking the data from a string s.

G
get_arguments [Shell_sys]
Returns the argument array of the command (skipping the command name)
get_assignments [Shell_sys]
Returns the list of assignments (fd_from,fd_to)
get_chdir [Shell_sys]
Returns the chdir parameter of the command
get_cmdname [Shell_sys]
Returns the name of the command
get_descriptors [Shell_sys]
Returns the list of active descriptors
get_env [Shell_sys]
Gets the contents of the environment as string array
get_env_var [Shell_sys]
Returns the value of the variable in the environment
get_environment [Shell_sys]
Returns the designated environment of the command
get_filename [Shell_sys]
Returns the file name of the executable
getpgid [Unix_exts]
Return the process group ID of the process with the passed PID.
getpgrp [Unix_exts]
Same as getpgid 0, i.e.
getsid [Unix_exts]
Returns the session ID of the process with the passed PID.

I
install_job_handlers [Shell_sys]
Installs handlers as configured before.
int_of_file_descr [Unix_exts]
Return the file descriptor as integer
is_executable [Shell_sys]
Returns true if there is an executable file for the command, and it is permitted to run this file (as stated by the file permissions).
iter_env [Shell_sys]
Iterates over the strings of the environment, and calls f s for every string s.
iter_env_vars [Shell_sys]
Iterates over the variables of the environment, and calls f name value for every variable with name and value.
iter_job_instances [Shell_sys]
Iterates over the jobs in the list of active jobs and calls f for every job_instance.

J
job_status [Shell_sys]
Returns the status.

K
kill [Shell_sys]
Sends a signal to the passed process.
kill_process_group [Shell_sys]
Kills the process group if it is still (at least partially) running.
kill_processes [Shell_sys]
Kills the individual processes of the job which are still running.

L
lookup_executable [Shell_sys]
Searches an executable file.

N
new_job [Shell_sys]
Creates a new job descriptor.

P
postprocess_job [Shell]
Looks at the error codes of the job, and raises Subprocess_error when there is an error that cannot be ignored.
process_group_expects_signals [Shell_sys]
true iff the group has mode=Background and forward_signals.
process_group_id [Shell_sys]
Returns the Unix ID of the process group as number > 1.
process_group_leader [Shell_sys]
Returns the process group leader process.
process_id [Shell_sys]
Returns the process ID of the process
processes [Shell_sys]
Returns the processes that have actually been started for this job by run_job; note that the corresponding Unix process group may have additional processes (e.g.

R
register_job [Shell_sys]
Registers the job at the passed system_handler.
run [Shell_sys]
Executes the command concurrently with the current process.
run_job [Shell_sys]
Invokes the commands of the job such that they run concurrently with the main process.

S
set_arguments [Shell_sys]
Sets the argument array
set_assignments [Shell_sys]
Sets the list of assignments (fd_from,fd_to)
set_chdir [Shell_sys]
Sets the chdir parameter of the command
set_cmdname [Shell_sys]
Sets the command name
set_descriptors [Shell_sys]
Sets the list of active descriptors
set_env [Shell_sys]
Sets the contents of the environment to the passed string array
set_env_var [Shell_sys]
set_env_var env varname varval: Sets the value of the variable varname in the environment env to varval.
set_environment [Shell_sys]
Sets the environment
set_filename [Shell_sys]
Sets the file name of the executable to start
setpgid [Unix_exts]
setpgid pid pgid: Set the process group ID of the process pid to pgid.
setpgrp [Unix_exts]
Same as setpgid 0 0: A new process group ID is created, and the current process becomes its sole member.
setregid [Unix_exts]
Changes both the real and the effective group ID of the current process.
setreuid [Unix_exts]
Changes both the real and the effective user ID of the current process.
setup_job [Shell]
Creates a job like call, but does not execute it.
status [Shell_sys]
Reports the status as determined by wait (below): If the process has terminated, the status of the process is returned.
stderr [Shell]
The standard descriptors; defined here for convenience.
stdin [Shell]
stdout [Shell]
sysconf_open_max [Unix_exts]
Return the maximum number of open file descriptor per process.

T
tcgetpgrp [Unix_exts]
Return the process group ID of the foreground process group of the session associated with the file descriptor, which must be a tty.
tcsetpgrp [Unix_exts]
Sets the foreground process group ID of the session associated with the file descriptor, which must be a tty.
to_buffer [Shell_sys]
to_buffer b returns a function which can be used as consumer argument for add_consumer.
to_buffer [Shell]
Creates a consumer writing the data into the passed buffer.
to_dev_null [Shell]
A consumer redirecting the data to /dev/null.
to_fd [Shell]
Creates a consumer redirecting the data to the file descriptor
to_file [Shell]
Creates a consumer writing the data into the file whose name is passed to this function.
to_function [Shell]
Creates a consumer writing the data by calling a function.
ttyname [Unix_exts]
Returns the name of the controlling tty referred to by the file descriptor.

W
wait [Shell_sys]
Watches the given list of processes and the file descriptors read, write, and except, and waits until events for these resources have happened, and reports these.
watch_for_zombies [Shell_sys]
Iterates over the jobs in the list of abandoned jobs, and removes zombie processes.