Module Sys: system interface
val argv: string array
-
The command line arguments given to the process.
The first element is the command name used to invoke the program.
The following elements are the command-line arguments
given to the program.
val file_exists: string -> bool
-
Test if a file with the given name exists.
val remove: string -> unit
-
Remove the given file name from the file system.
val rename : string -> string -> unit
-
Rename a file. The first argument is the old name and the
second is the new name.
val getenv: string -> string
-
Return the value associated to a variable in the process
environment. Raise Not_found if the variable is unbound.
val command: string -> int
-
Execute the given shell command and return its exit code.
val time: unit -> float
-
Return the processor time, in seconds, used by the program
since the beginning of execution.
val chdir: string -> unit
-
Change the current working directory of the process.
val getcwd: unit -> string
-
Return the current working directory of the process.
val interactive: bool ref
-
This reference is initially set to false in standalone
programs and to true if the code is being executed under
the interactive toplevel system ocaml.
val os_type: string
-
Operating system currently executing the Caml program.
One of "Unix", "Win32", or "MacOS".
val word_size: int
-
Size of one word on the machine currently executing the Caml
program, in bits: 32 or 64.
val max_string_length: int
-
Maximum length of a string.
val max_array_length: int
-
Maximum length of an array.
Signal handling
type signal_behavior =
Signal_default
| Signal_ignore
| Signal_handle of (int -> unit)
-
What to do when receiving a signal:
Signal_default: take the default behavior
(usually: abort the program)
Signal_ignore: ignore the signal
Signal_handle f: call function f, giving it the signal
number as argument.
val signal: int -> signal_behavior -> signal_behavior
-
Set the behavior of the system on receipt of a given signal.
The first argument is the signal number. Return the behavior
previously associated with the signal.
val set_signal: int -> signal_behavior -> unit
-
Same as signal but return value is ignored.
val sigabrt: int (* Abnormal termination *)
val sigalrm: int (* Timeout *)
val sigfpe: int (* Arithmetic exception *)
val sighup: int (* Hangup on controlling terminal *)
val sigill: int (* Invalid hardware instruction *)
val sigint: int (* Interactive interrupt (ctrl-C) *)
val sigkill: int (* Termination (cannot be ignored) *)
val sigpipe: int (* Broken pipe *)
val sigquit: int (* Interactive termination *)
val sigsegv: int (* Invalid memory reference *)
val sigterm: int (* Termination *)
val sigusr1: int (* Application-defined signal 1 *)
val sigusr2: int (* Application-defined signal 2 *)
val sigchld: int (* Child process terminated *)
val sigcont: int (* Continue *)
val sigstop: int (* Stop *)
val sigtstp: int (* Interactive stop *)
val sigttin: int (* Terminal read from background process *)
val sigttou: int (* Terminal write from background process *)
val sigvtalrm: int (* Timeout in virtual time *)
val sigprof: int (* Profiling interrupt *)
-
Signal numbers for the standard POSIX signals.
exception Break
-
Exception raised on interactive interrupt if catch_break
is on.
val catch_break: bool -> unit
-
catch_break governs whether interactive interrupt (ctrl-C)
terminates the program or raises the Break exception.
Call catch_break true to enable raising Break,
and catch_break false to let the system
terminate the program on user interrupt.