Module Sys


module Sys: sig .. end
システムインタフェース

val argv : string array
プロセスに与えられたコマンドライン引数です。 最初の要素はプログラムを起動するのに使われたコマンドの名前で、残りの要素はそのプログラムに与えられたコマンドライン引数です。
val executable_name : string
現在実行中のプログラムを格納しているファイルの名前。
val file_exists : string -> bool
与えられた名前のファイル存在するか検査します。
val is_directory : string -> bool
与えられた名前がディレクトリを参照していれば true を返し、他の種類のファイルを参照していれば false を返します。 与えられた名前のファイルが存在しなければ Sys_error 例外が発生します。
Since 3.12.0
val remove : string -> unit
与えられた名前のファイルを削除します。
val rename : string -> string -> unit
ファイルの名前を変更します。 第一引数はもとの名前で、第二引数は新しい名前です。 変更後の名前のファイルが既に存在した場合、 OS 依存で、例外が発生するか、そのファイルを置き換えるかします。
val getenv : string -> string
プロセスの環境変数に対応づけられた値を返します。 変数が束縛されていなかった場合には Not_found 例外が発生します。
val command : string -> int
与えられたシェルコマンドを実行し、その終了コードを返します。
val time : unit -> float
プログラムの実行開始から現在までのプロセッサ時間を秒単位で返します。
val chdir : string -> unit
プロセスの現在の作業ディレクトリを変更します。
val getcwd : unit -> string
プロセスの現在の作業ディレクトリを返します。
val readdir : string -> string array
与えられたディレクトリに存在するすべてのファイルの名前を返します。 カレントディレクトリと親ディレクトリを表す名前(Unix では ".""..")は含まれません。 戻り値中の文字列は、完全なパス名ではなく、ファイルの名前です。 戻り値の配列中の文字列が常に特定の順序で現れる保証はありません。 特に、アルファベット順である保証もありません。
val interactive : bool ref
このリファレンス値は、スタンドアロンプログラムでは最初 false に設定され、対話式トップレベルシステム ocaml から実行されると true に設定されます。
val os_type : string
現在プログラムを実行している OS。以下のいずれかになります。
val word_size : int
現在 Caml プログラムを実行している計算機の 1 ワードのサイズ(ビット単位)。 32 か 64 になります。
val max_string_length : int
文字列の最大長。
val max_array_length : int
通常の配列の最大長。 float の配列の最大長は 32 bit の計算機では max_array_length / 2 になり、 64 bit の計算機では max_array_length になります。

シグナル処理



type signal_behavior =
| Signal_default (*デフォルトの動作(通常、プログラムを中断します)*)
| Signal_ignore (*シグナルを無視する*)
| Signal_handle of (int -> unit) (*シグナル番号を引数として、関数 f を呼び出す*)
シグナルを受け取ったときどのようにするかを表します。
val signal : int -> signal_behavior -> signal_behavior
指定のシグナルを受け取った場合の振る舞いを設定します。 第一引数はシグナル番号です。 戻り値は、以前そのシグナルに対応づけられていた振る舞いです。 シグナル番号が不正である(か、またはシステムで使用可能でない)場合には、 Invalid_argument 例外が発生します。
val set_signal : int -> signal_behavior -> unit
Sys.signal と同じですが戻り値が無視されます。

POSIX 標準シグナルのシグナル番号


val sigabrt : int
異常終了
val sigalrm : int
タイムアウト
val sigfpe : int
算術例外
val sighup : int
制御端末のハングアップ
val sigill : int
不正なハードウェア命令
val sigint : int
対話的割り込み (Ctrl-C)
val sigkill : int
強制終了(無視することはできません)
val sigpipe : int
パイプの切断
val sigquit : int
対話的終了
val sigsegv : int
不正なメモリアクセス
val sigterm : int
強制終了
val sigusr1 : int
アプリケーション定義のシグナル 1
val sigusr2 : int
アプリケーション定義のシグナル 2
val sigchld : int
子プロセスの強制終了
val sigcont : int
続行
val sigstop : int
中断
val sigtstp : int
対話的中断
val sigttin : int
バックグラウンドプロセスによる端末読み込み
val sigttou : int
バックグラウンドプロセスによる端末書き込み
val sigvtalrm : int
仮想時間におけるタイムアウト
val sigprof : int
プロファイラによる割り込み
exception Break
Sys.catch_break が設定されているとき、対話的割り込み時に発生する例外
val catch_break : bool -> unit
対話的割り込み(Ctrl-C)によりプログラムを強制終了するか Break 例外を発生させるかを決定します。 catch_break true を実行すると Break を発生させるようになり、 catch_break false とすると、ユーザーからの割り込みでプログラムを強制終了するようにします。
val ocaml_version : string
Objective Caml のパージョンです。 "major.minor[.patchlevel][+additional-info]" の形式の文字列で、 majorminorpatchlevel は整数、 additional-info は任意の文字列です。 [.patchlevel][+additional-info] の部分は存在しないことがあります。