Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Processモジュール

module Process

クラスの継承リスト: Process

要約

UNIX のプロセスを管理するモジュールです。

Process がプロセスを表現するクラスではなく、プロセスに対する操作 をまとめたモジュールであることに注意してください。

ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶために Process::Sys が提供されています。 ポータブルにユーザ ID・グループ ID を操作するためのモジュール Process::UID, Process::GID も提供されています。

特異メソッド

定義 説明
abort(message = "") -> ()

関数 Kernel.#abort と同じです。

detach(pid) -> Thread

子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に nil で終了します。 指定した子プロセスが存在しなければ即座に nil で終了します。

exec(command, *args) -> ()

カレントプロセスを与えられた外部コマンドで置き換えます。

exit(status = true) -> ()

プロセスを終了します。関数 Kernel.#exit と同じです。

exit!(status = false) -> ()

関数 Kernel.#exit! と同じです。

fork -> Integer | nil
fork { ... } -> Integer | nil

子プロセスを生成します。関数 Kernel.#fork と同じです。

モジュール関数

定義 説明
egid -> Integer

カレントプロセスの実効グループ ID を整数で返します。

egid=(gid)

カレントプロセスの実効グループ ID を gid に設定します。

euid -> Integer

カレントプロセスの実効ユーザ ID を整数で返します。

euid=(uid)

カレントプロセスの実効ユーザ ID を uid に設定します。

getpgid(pid = 0) -> Integer

プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。

getpgrp -> Integer

現在のプロセスのプロセスグループ ID を整数で返します。

getpriority(which, who) -> Integer

which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。

getrlimit(resource) -> [Integer]

カレントプロセスでのリソースの制限値を、整数の配列として返します。 返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の 配列 [cur_limit, max_limit] です。

gid -> Integer

カレントプロセスの実グループ ID を返します。

gid=(gid)

カレントプロセスの実グループ ID を gid に設定します。

groups -> [Integer]

補助グループ ID の配列を返します(実効グループ ID を含むかも知れません)。

groups=(gids)

補助グループを設定します。

initgroups(user, group) -> [Integer]

user が属するグループのリストを更新し、group をそのリストに加えます。

kill(signal, pid, *rest) -> Integer

pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号か名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。

maxgroups -> Integer
maxgroups=(num)

設定できる補助グループ ID の数を指定します。

pid -> Integer

カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。

ppid -> Integer

親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。

setpgid(pid, pgrp) -> 0

プロセス ID が pid であるプロセスのプロセスグループを pgrp に設定します。

setpgrp -> 0

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。 Process.#setpgid(0, 0) と同じです。

setpriority(which, who, prio) -> 0

プロセス、プロセスグループ、 ユーザのいずれかの現在のプライオリティを設定します 。プライオリティの設定に成功した場合は 0 を返します。

setrlimit(resource, cur_limit, max_limit) -> nil
setrlimit(resource, limit) -> nil

カレントプロセスでのリソースの制限値を設定します。

setsid -> Integer

新しいセッションを作成して、tty を切り離します。デーモンを簡単に作 ることができます。セッション ID を返します。

times -> Struct::Tms

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を Struct::Tms オブジェクトで返します。 時間の単位は秒で、浮動小数点数で与えられます。

uid -> Integer

プロセスの実ユーザ ID を返します。

uid=(id)

プロセスの実ユーザ ID を id に設定します。

wait -> Integer
wait2 -> Array

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。 wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

waitall -> Array

全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

waitpid(pid, flags = 0) -> Integer | nil
waitpid2(pid, flags = 0) -> Array | nil

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

定数

定義 説明
PRIO_PGRP

対象とするプライオリティがプロセスグループプライオリティであることを表す定数です。

PRIO_PROCESS

対象とするプライオリティがプロセスプライオリティであることを表す定数です。

PRIO_USER

対象とするプライオリティがユーザプライオリティであることを表す定数です。

RLIMIT_AS

リソースの種類がプロセスの仮想メモリサイズであることを示す定数です。

RLIMIT_CORE

リソースの種類が core ファイルのサイズであることを示す定数です。

RLIMIT_CPU

リソースの種類がプロセスの CPU 時間であることを示す定数です。

RLIMIT_DATA

リソースの種類がプロセスのデータ領域のサイズであることを示す定数です。

RLIMIT_FSIZE

リソースの種類がプロセスが生成するファイルのサイズであることを示す定数です。

RLIMIT_MEMLOCK

リソースの種類が mlock(2) でロックできるトータルのサイズであることを示す定数です。

RLIMIT_NOFILE

リソースの種類がプロセスがオープンできるファイルの数であることを示す定数です。

RLIMIT_NPROC

リソースの種類がユーザのプロセスの最大数であることを示す定数です。

RLIMIT_RSS

リソースの種類が使用できる実メモリの最大サイズであることを示す定数です。

RLIMIT_SBSIZE

リソースの種類がソケットバッファのサイズであることを示す定数です。

RLIMIT_STACK

リソースの種類がプロセスのスタック領域のサイズであることを示す定数です。

RLIM_INFINITY

リソースに制限がないことを意味する定数です。

RLIM_SAVED_CUR

Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。

RLIM_SAVED_MAX

Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。

WNOHANG

Process.#waitpid の第二引数に指定するフラグです。 終了した子プロセスがない時でも waitpid がブロックしません。

WUNTRACED

Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。