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。以下のいずれかになります。
-
"Unix"
(Linux と Mac OS X を含むすべての Unix)
-
"Win32"
(MS-Windows 上の MSVC++ か Mingw でコンパイルされた OCaml)
-
"Cygwin"
(MS-Windows 上の Cygwin でコンパイルされた OCaml
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) |
シグナルを受け取ったときどのようにするかを表します。
val signal : int -> signal_behavior -> signal_behavior
指定のシグナルを受け取った場合の振る舞いを設定します。
第一引数はシグナル番号です。
戻り値は、以前そのシグナルに対応づけられていた振る舞いです。
シグナル番号が不正である(か、またはシステムで使用可能でない)場合には、
Invalid_argument
例外が発生します。
val set_signal : int -> signal_behavior -> unit
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
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]"
の形式の文字列で、 major
、 minor
、 patchlevel
は整数、 additional-info
は任意の文字列です。
[.patchlevel]
と [+additional-info]
の部分は存在しないことがあります。