Module Sys


structure Sys = struct ... end 
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 opendir : string -> dir_handle
Open a descriptor on a directory
val readdir : dir_handle -> string
Return the next entry in a directory.
Raises End_of_file when the end of the directory has been reached.
val closedir : dir_handle -> unit
Close a directory descriptor.
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 Pervasives.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", "Cygwin" 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 Sys.signal but return value is ignored.


Signal numbers for the standard POSIX signals.


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
exception Break
Exception raised on interactive interrupt if Sys.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.