るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
100件ヒット [1-100件を表示] (0.042秒)
トップページ > バージョン:2.3.0[x] > クエリ:Process[x] > 種類:モジュール関数[x]

別のキーワード

  1. process fork
  2. process abort
  3. process setrlimit
  4. tracer display_process_id
  5. tracer display_process_id?

ライブラリ

モジュール

キーワード

検索結果

Process.#clock_gettime(clock_id, unit=:float_second) -> Float | Integer (63580.0)

POSIX の clock_gettime() 関数の時間を返します。

POSIX の clock_gettime() 関数の時間を返します。

例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096

@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバージョンに依存します。

: Process::CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS...

Process.#wait2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (63466.0)

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

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

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.#waitpid2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (63466.0)

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

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

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.#waitall -> [[Integer, Process::Status]] (63445.0)

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

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

$? には最後に終了した子プロセスの Process::Status オブジェクトが設定されます。

2.times {|n|
Process.fork() { exit n }
}
p Process.waitall
#=> :Status: pid=2766,exited(1)>], [2765, #<Process::St...

Process.#times -> Process::Tms (63373.0)

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

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

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see Process::Tms

絞り込み条件を変える

Process.#setrlimit(resource, cur_limit, max_limit) -> nil (63328.0)

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

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

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@param limit resource によって意味が決まる制限値を表す整数もしくは定数を指定します。
soft limit と hard limit 両方にこの値が使われます。

@param cur_limit 現在の制限値(soft limit)を表す整数もしくは定数を指定します。

@param max_limit soft limit として設定可能な最大値(hard limit)を表す整...

Process.#setrlimit(resource, limit) -> nil (63328.0)

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

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

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@param limit resource によって意味が決まる制限値を表す整数もしくは定数を指定します。
soft limit と hard limit 両方にこの値が使われます。

@param cur_limit 現在の制限値(soft limit)を表す整数もしくは定数を指定します。

@param max_limit soft limit として設定可能な最大値(hard limit)を表す整...

Process.#getrlimit(resource) -> [Integer] (63256.0)

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

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

それぞれの limit が Process::RLIM_INFINITY と等しい場合、リソースに制限がないことを意味します。

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@raise Errno::EXXX リソースの制限値の取得が失敗した場合に発生します。

@raise NotImplem...

Process.#wait(pid = -1, flags = 0) -> Integer | nil (63166.0)

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

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

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.#waitpid(pid = -1, flags = 0) -> Integer | nil (63166.0)

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

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

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

絞り込み条件を変える

Process.#setpgrp -> 0 (63160.0)

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

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

@raise Errno::EXXX プロセスグループの設定に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

fork do
p [Process.pid, Process.getpgrp]
p Process.setpgrp
p [Process.pid, Process.getpgrp]
...

Process.#setpriority(which, who, prio) -> 0 (63130.0)

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

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

@param which プライオリティを設定する対象の種類を以下の定数のいずれかで指定します。

* Process::PRIO_PROCESS
* Process::PRIO_PGRP
* Process::PRIO_USER

@param who which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。

@param prio プライオリティを -20 から 20 までの整数で設...

Process.#detach(pid) -> Thread (63088.0)

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

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

@param pid 子スレッドのプロセス ID を整数で指定します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

pid = fork {
# child
sleep 3
}

p pid # => 7762
th...

Process.#getpriority(which, who) -> Integer (63076.0)

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

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

@param which プライオリティの種類を次の定数で指定します。 Process::PRIO_PROCESS,
Process::PRIO_PGRP, Process::PRIO_USER。

@param who which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。

@raise Errno::EXXX プライオリティの取得に失敗した場合に発生します。

@raise NotImplement...

Process.#getsid(pid = 0) -> Integer (63076.0)

引数 pid で指定されたプロセスのセッション ID を返します。

引数 pid で指定されたプロセスのセッション ID を返します。

@param pid プロセス ID を整数で指定します。省略した場合、0 を指定した場
合は現在のプロセスの ID を指定した場合と同じ動作になります。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されて
いない場合に発生します。

Process.getsid() # => 27422
Process.getsid(0) # => 274...

絞り込み条件を変える

Process.#groups -> [Integer] (63076.0)

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

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

返される配列の最大要素数は Process.#maxgroups です。

このメソッドは getgroups(2) の単純なラッパーです。
このことは以下の特徴がプラットフォームに依存することを意味します。

* 結果がソートされているかどうか
* 結果が実効グループ ID を含むかどうか
* グループ ID が重複している可能性があるかどうか

ソート済みで重複のないグループ ID の配列の取得は以下のようにできます:

//emlist[][ruby]{
Process.groups.uniq....

Process.#setproctitle(title) -> String (63040.0)

ps(1) が出力する現在実行中の Ruby スクリプトの名前を引数 title で指定した文字列に変更します。

ps(1) が出力する現在実行中の Ruby スクリプトの名前を引数 title
で指定した文字列に変更します。

OS によっては何も行われません。また、処理結果に関係なく例外は発生しませ
ん。サポートされる OS ではない場合であっても NotImplementedError
が発生する事はありません。本メソッドを実行しても $0 への影響はあ
りません。

Process.setproctitle('myapp: worker #%d' % worker_id)

本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
リプトの名前を表す文字列を設定す...

Process.#argv0 -> String (63022.0)

現在実行中の Ruby スクリプトの名前を表す文字列です。$0 を更新して も本メソッドの戻り値への影響はありません。

現在実行中の Ruby スクリプトの名前を表す文字列です。$0 を更新して
も本メソッドの戻り値への影響はありません。

本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
リプトの名前を表す文字列を取得する手段として提供されました。

@see Process.#setproctitle, $0

Process.#egid=(gid) (63022.0)

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

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

動作の詳細はプラットフォームに依存します。
実効グループ ID 以外のグループ ID も変更されるかも知れません。

@param gid 実効グループ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see Process::GID.#eid=

Process.#euid=(uid) (63022.0)

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

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

動作の詳細はプラットフォームに依存します。
実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。

@param uid 実効ユーザ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see Process::UID.#eid=

絞り込み条件を変える

Process.#gid=(gid) (63022.0)

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

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

動作の詳細はプラットフォームに依存します。
実グループ ID 以外のグループ ID も変更されるかも知れません。

@param gid 実グループ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see Process::GID

Process.#groups=(gids) (63022.0)

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

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

root だけがこのメソッドを呼ぶことができます。

@param gids 補助グループ ID の配列を指定します。補助グループ ID は整数かグループ名を表す文字列です。

@raise ArgumentError 設定する補助グループ ID の数が Process.#maxgroups の
数を越えている場合に発生します。

@raise Errno::EXXX 権限がない場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。...

Process.#maxgroups -> Integer (63022.0)

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

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

実際に返される補助グループ ID の数よりも少ない値を設定していると、
Process.#groups で例外が発生します。

@param num 整数を指定します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Process.#maxgroups=(num) (63022.0)

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

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

実際に返される補助グループ ID の数よりも少ない値を設定していると、
Process.#groups で例外が発生します。

@param num 整数を指定します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Process.#uid=(id) (63022.0)

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

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

動作の詳細はプラットフォームに依存します。
実ユーザ ID 以外のユーザ ID も変更されるかも知れません。

@param id 実ユーザ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see Process::UID

絞り込み条件を変える

Process.#daemon(nochdir = nil, noclose = nil) -> 0 (63004.0)

プロセスから制御端末を切り離し、 バックグラウンドにまわってデーモンとして動作させます。

プロセスから制御端末を切り離し、
バックグラウンドにまわってデーモンとして動作させます。

カレントディレクトリを / に移動します。
ただし nochdir に真を指定したときにはこの動作は抑制され、
カレントディレクトリは移動しません。

標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。
ただし noclose に真を指定したときにはこの動作は抑制され、
リダイレクトは行なわれません。


@param nochdir true を指定した場合、カレントディレクトリを移動しません。

@param noclose true を指定した場合、標準入力・標準出...

Process.#egid -> Integer (63004.0)

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

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

@see getegid(2)

Process.#euid -> Integer (63004.0)

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

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

@see geteuid(2)

Process.#getpgid(pid) -> Integer (63004.0)

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

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

@param pid プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。

@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see getpgid(2)

Process.#getpgrp -> Integer (63004.0)

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

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

@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see getpgrp(2)

絞り込み条件を変える

Process.#gid -> Integer (63004.0)

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

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

@see getgid(2)

Process.#initgroups(user, group) -> [Integer] (63004.0)

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

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

このメソッドを呼ぶには root 権限が必要です。

@param user ユーザ名を表す文字列で指定します。

@param group ユーザグループ ID を整数で指定します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Process.#kill(signal, pid, *rest) -> Integer (63004.0)

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

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

@param signal シグナルをシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。

@param pid シグナルを送りたいプロセスのプロセス ID を整数で指定します。ただし、0 以下の場合は以下のような意味になります。

* 0 ...

Process.#pid -> Integer (63004.0)

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

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

@see getpid(2)

Process.#ppid -> Integer (63004.0)

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

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

@see getppid(2)

絞り込み条件を変える

Process.#setpgid(pid, pgrp) -> 0 (63004.0)

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

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

@param pid プロセス ID を整数で指定します。pid が 0 の時はカレントプロセスの ID を指定したのと同じです。
プロセスグループの設定に成功した場合は 0 を返します。

@param pgrp プロセスグループ ID を整数で指定します。pgrp が 0 の時は pid を指定したのと同じです。

@raise Errno::EXXX プロセスグループの設定に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在の...

Process.#setsid -> Integer (63004.0)

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

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

@raise Errno::EXXX セッションの作成に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see setsid(2)

Process.#uid -> Integer (63004.0)

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

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

@see getuid(2)

Etc.#nprocessors -> Integer (18304.0)

有効な CPU コア数を返します。

有効な CPU コア数を返します。

//emlist[][ruby]{
require 'etc'
p Etc.nprocessors #=> 4
//}

Process::GID.#eid=(id) (9112.0)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
...

絞り込み条件を変える

Process::GID.#grant_privilege(id) -> Integer (9112.0)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
...

Process::UID.#eid=(id) (9112.0)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。

* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。

利用できるか...

Process::UID.#grant_privilege(id) -> Integer (9112.0)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。

* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。

利用できるか...

Process::GID.#change_privilege(id) -> Integer (9094.0)

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

@param id グループ ID を整数で指定します。

@raise ArgumentError 変更できないグループ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各グループ ID の値が保存されているかどうかは保証されません。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されて...

Process::GID.#re_exchange -> Integer (9094.0)

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効グループ ID を返します。

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

[Process.gid, Process.egid] #=> [0, 33]
Process::GID.re_exchange #=> 0
[Process.gid, Process.egid] #=> [...

絞り込み条件を変える

Process::UID.#change_privilege(id) -> Integer (9094.0)

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

@param id ユーザ ID を整数で指定します。

@raise ArgumentError 変更できないユーザ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各ユーザ ID の値が保存されているかどうかは保証されません。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に...

Process::GID.#re_exchangeable? -> bool (9052.0)

現在のプラットフォームで Process::GID.#re_exchange が実装されている なら true を返します。そうでない場合に false を返します。

現在のプラットフォームで Process::GID.#re_exchange が実装されている
なら true を返します。そうでない場合に false を返します。

Process::UID.#re_exchangeable? -> bool (9052.0)

Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。

Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。

Process::GID.#from_name(name) -> Integer (9040.0)

引数で指定した名前の実グループ ID を返します。

引数で指定した名前の実グループ ID を返します。

Process::GID.from_name("wheel") # => 0
Process::GID.from_name("nosuchgroup") # => can't find group for nosuchgroup (ArgumentError)

@param name グループ名を指定します。

@raise ArgumentError 引数で指定したグループが存在しない場合に発生します。

Process::GID.#switch -> Integer (9040.0)

実効グループ ID を一時的に変更するために使います。

実効グループ ID を一時的に変更するために使います。

実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。

ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。

@raise Errno::E...

絞り込み条件を変える

Process::GID.#switch {...} -> object (9040.0)

実効グループ ID を一時的に変更するために使います。

実効グループ ID を一時的に変更するために使います。

実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。

ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。

@raise Errno::E...

Process::UID.#from_name(name) -> Integer (9040.0)

引数で指定した名前の実ユーザ ID を返します。

引数で指定した名前の実ユーザ ID を返します。

Process::UID.from_name("root") # => 0
Process::UID.from_name("nosuchuser") # => can't find user for nosuchuser (ArgumentError)

@param name ユーザ名を指定します。

@raise ArgumentError 引数で指定したユーザが存在しない場合に発生します。

Process::UID.#switch -> Integer (9040.0)

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。

ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。

@raise Errno::EPERM 各ユーザ ID ...

Process::UID.#switch { .... } -> object (9040.0)

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。

ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。

@raise Errno::EPERM 各ユーザ ID ...

Process::GID.#eid -> Integer (9022.0)

現在のプロセスの実効グループ ID を返します。

現在のプロセスの実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Process.egid #=> 500

絞り込み条件を変える

Process::GID.#rid -> Integer (9022.0)

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

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

Process.rid #=> 500

Process::GID.#sid_available? -> bool (9004.0)

現在のプラットフォームが保存グループ ID を持つなら true を返します。 そうでない場合に false を返します。

現在のプラットフォームが保存グループ ID を持つなら true を返します。
そうでない場合に false を返します。

ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存グループ ID を持つものと判定しています。

* setresgid() を持つ
* setegid() を持つ
* _POSIX_SAVED_IDS が真として定義されている

Process::Sys.#getegid -> Integer (9004.0)

システムコールの getegid(2) を呼びます。返り値を整数で返します。

システムコールの getegid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#geteuid -> Integer (9004.0)

システムコールの geteuid(2) を呼びます。返り値を整数で返します。

システムコールの geteuid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#getgid -> Integer (9004.0)

システムコールの getgid(2) を呼びます。返り値を整数で返します。

システムコールの getgid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

絞り込み条件を変える

Process::Sys.#getuid -> Integer (9004.0)

システムコールの getuid(2) を呼びます。返り値を整数で返します。

システムコールの getuid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#issetugid -> bool (9004.0)

システムコールの issetugid() を呼びます。

システムコールの issetugid() を呼びます。

プロセスが setuid もしくは setgid ビットを使って
起動されている場合に真を返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#setegid(id) -> nil (9004.0)

システムコールの setegid(2) を呼びます。

システムコールの setegid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#seteuid(id) -> nil (9004.0)

システムコールの seteuid(2) を呼びます。

システムコールの seteuid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setgid(id) -> nil (9004.0)

システムコールの setgid(2) を呼びます。

システムコールの setgid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

絞り込み条件を変える

Process::Sys.#setregid(rid, eid) -> nil (9004.0)

システムコールの setregid(2) を呼びます。

システムコールの setregid(2) を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setresgid(rid, eid, sid) -> nil (9004.0)

システムコールの setresgid を呼びます。

システムコールの setresgid を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@param sid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setresuid(rid, eid, sid) -> nil (9004.0)

システムコールの setresuid を呼びます。

システムコールの setresuid を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@param sid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setreuid(rid, eid) -> nil (9004.0)

システムコールの setreuid(2) を呼びます。

システムコールの setreuid(2) を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setrgid(id) -> nil (9004.0)

システムコールの setrgid を呼びます。

システムコールの setrgid を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

絞り込み条件を変える

Process::Sys.#setruid(id) -> nil (9004.0)

システムコールの setruid を呼びます。

システムコールの setruid を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setuid(id) -> nil (9004.0)

システムコールの setuid(2) を呼びます。

システムコールの setuid(2) を呼びます。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::UID.#eid -> Integer (9004.0)

現在の実効ユーザ ID を返します。

現在の実効ユーザ ID を返します。

Process::UID.#re_exchange -> Integer (9004.0)

実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。

実ユーザ ID と実効ユーザ ID とを入れ換えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効ユーザ ID を返します。

利用できるかはプラットフォームに依存します。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

Process::UID.#rid -> Integer (9004.0)

現在の実ユーザ ID を返します。

現在の実ユーザ ID を返します。

絞り込み条件を変える

Process::UID.#sid_available? -> bool (9004.0)

保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。

保存ユーザ ID を持つ環境かどうかを真偽値で返します。
保存ユーザ ID を持つなら true を返します。

ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存ユーザ ID を持つものと判定しています。

* setresuid() を持つ
* seteuid() を持つ
* _POSIX_SAVED_IDS が真として定義されている

Open3.#pipeline(*cmds) -> [Process::Status] (361.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

Open3.#capture2e(*cmd) -> [String, Process::Status] (325.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラーを1 つの文字列にしたものとプロセスの終了ステータスを表すオブジェクトを返し ます。

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラーを1
つの文字列にしたものとプロセスの終了ステータスを表すオブジェクトを返し
ます。

@param cmd 実行するコマンドを指定します。

@return 実行したコマンドの標準出力と標準エラーを1つの文字列にしたものと
終了ステータスを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの
標準入力に渡されます。opts[:binmo...

Open3.#capture3(*cmd) -> [String, String, Process::Status] (325.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プ ロセスの終了ステータスを表すオブジェクトを返します。

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プ
ロセスの終了ステータスを表すオブジェクトを返します。

@param cmd 実行するコマンドを指定します。

@return 実行したコマンドの標準出力と標準エラー、プロセスの終了ステータ
スを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの
標準入力に渡されます。opts[:binmode]を真に指定されると内部で使用される...

Open3.#capture2(*cmd) -> [String, Process::Status] (307.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準出力とプロセスの終了 ステータスを表すオブジェクトを返します。

cmdで指定されたコマンドを実行し、そのプロセスの標準出力とプロセスの終了
ステータスを表すオブジェクトを返します。

@param cmd 実行するコマンドを指定します。

@return 実行したコマンドの標準出力と終了ステータスを表すオブジェクトを
配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの
標準入力に渡されます。opts[:binmode]を真に指定されると内部で使用される
パイプをバイナリモードに指定しま...

絞り込み条件を変える

Kernel.#fork -> Integer | nil (256.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

fork(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価します。

fork 前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Proc...

Kernel.#fork { ... } -> Integer | nil (256.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

fork(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価します。

fork 前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Proc...

Kernel.#spawn(env, program, *args, options={}) -> Integer (112.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//...

Kernel.#spawn(program, *args) -> Integer (112.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//...

WEBrick::Utils.#su(user) -> () (100.0)

指定されたユーザに Process::Sys.#setuid, Process::Sys.#setgid します。

指定されたユーザに Process::Sys.#setuid,
Process::Sys.#setgid します。

setuid できないプラットフォームでは警告を表示し、何もしません。

@param user ユーザを指定します。

絞り込み条件を変える

Benchmark.#measure(label = "") { ... } -> Benchmark::Tms (52.0)

与えられたブロックを実行して、経過した時間を Process.#times で計り、 Benchmark::Tms オブジェクトを生成して返します。

与えられたブロックを実行して、経過した時間を Process.#times で計り、
Benchmark::Tms オブジェクトを生成して返します。

Benchmark::Tms オブジェクトには to_s が定義されているので、
基本的には以下のように使います。

//emlist[][ruby]{
require 'benchmark'

puts Benchmark::CAPTION
puts Benchmark.measure { "a"*1_000_000 }

#=>
#
# user system total real
# 1.1666...

FileTest.#grpowned?(file) -> bool (40.0)

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(-1, Process.gid, "testfile")
FileT...

Open3.#pipeline_r(*cmds) -> [IO, [Thread]] (40.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Open3.#pipeline_r(*cmds) {|last_stdout, wait_thrs| ... } -> () (40.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Open3.#pipeline_start(*cmds) -> [Thread] (40.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

絞り込み条件を変える

Open3.#pipeline_start(*cmds) {|wait_thrs| ... } -> () (40.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

Signal.#trap(signal) { ... } -> String | Proc | nil (40.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

Signal.#trap(signal, command) -> String | Proc | nil (40.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

FileTest.#owned?(file) -> bool (22.0)

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

@param file ファイル名を表す文字列か IO オブジェクトを指定します。

@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。

//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(Process.uid, -1, "testfile")
FileTest.owned?(...

Kernel.#`(command) -> String (22.0)

command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。

command を外部コマンドとして実行し、その標準出力を文字列として
返します。このメソッドは `command` の形式で呼ばれます。

引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、
コマンドとして実行します。
コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、$? を参照します。

コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。

d:spec/literal#command ...

絞り込み条件を変える

Kernel.#spawn(command, options={}) -> Integer (22.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。


=== 引数の解釈

この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash...

Kernel.#spawn(env, command, options={}) -> Integer (22.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。


=== 引数の解釈

この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash...

Kernel.#throw(tag, value = nil) -> () (22.0)

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。

throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限りません。
もし ensure節 が存在するならジャンプ前に実行します。

同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。

同じ tag であるとは Object#object_id が同じであるという意味です。

@param tag catch の引数に対応する任意のオブジェクトです。
@pa...

Signal.#signame(signo) -> String | nil (22.0)

引数で指定されたシグナル番号をシグナル名に変換して返します。 対応するシグナル番号が存在しない場合は nil を返します。

引数で指定されたシグナル番号をシグナル名に変換して返します。
対応するシグナル番号が存在しない場合は nil を返します。

Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT

@see Signal.#list

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (22.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.

例 長い計算のタイムアウト
r...

絞り込み条件を変える