モジュール
- FileTest (12)
- Kernel (45)
- Marshal (4)
- Math (1)
- ObjectSpace (5)
- Process (24)
-
Process
:: GID (11) -
Process
:: Sys (15) -
Process
:: UID (11) - Signal (2)
キーワード
- Integer (1)
-
_ _ dir _ _ (1) -
_ _ method _ _ (1) -
_ id2ref (1) - ` (1)
-
at
_ exit (1) - autoload (1)
- autoload? (1)
- binding (1)
- blockdev? (1)
- caller (3)
-
caller
_ locations (2) -
change
_ privilege (2) - chardev? (1)
-
clock
_ gettime (1) - daemon (1)
-
define
_ finalizer (2) - detach (1)
- directory? (1)
- dump (2)
- egid (1)
- egid= (1)
- eid (2)
- eid= (2)
- euid (1)
- euid= (1)
- eval (1)
- exec (2)
- exit (1)
- format (1)
-
from
_ name (2) -
garbage
_ collect (1) - getegid (1)
- geteuid (1)
- getgid (1)
- getpgid (1)
- getsid (1)
- getuid (1)
- gid (1)
- gid= (1)
-
grant
_ privilege (2) - groups= (1)
- grpowned? (1)
- gsub (1)
- identical? (1)
- issetugid (1)
- kill (1)
- lambda (1)
- ldexp (1)
- load (2)
- open (2)
- owned? (1)
- pid (1)
- ppid (1)
- printf (2)
- proc (1)
- rand (2)
-
re
_ exchange (2) -
re
_ exchangeable? (2) - readable? (1)
-
readable
_ real? (1) - readline (1)
- readlines (1)
- restore (1)
- rid (2)
- select (1)
- setegid (1)
- seteuid (1)
- setgid (1)
- setgid? (1)
- setpgid (1)
- setproctitle (1)
- setregid (1)
- setresgid (1)
- setresuid (1)
- setreuid (1)
- setrgid (1)
- setruid (1)
- setsid (1)
- setuid (1)
- setuid? (1)
-
sid
_ available? (2) - spawn (2)
- sprintf (1)
- srand (2)
- sub (1)
- switch (4)
- system (2)
- test (2)
-
trace
_ var (3) - trap (3)
- uid (1)
- uid= (1)
-
undefine
_ finalizer (1) - wait (1)
- wait2 (1)
- waitpid (1)
- waitpid2 (1)
-
world
_ readable? (1) -
world
_ writable? (1)
検索結果
先頭5件
-
Kernel
. # binding -> Binding (18610.0) -
変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。
変数・メソッドなどの環境情報を含んだ Binding オブジェクトを
生成して返します。通常、Kernel.#eval の第二引数として使います。
//emlist[例][ruby]{
def foo
a = 1
binding
end
eval("p a", foo) #=> 1
//}
@see Kernel.#eval,Object::TOPLEVEL_BINDING -
FileTest
. # identical?(file1 , file2) -> bool (18346.0) -
file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
file1 と file2 が同じファイルを指している時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。
open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (18346.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (18346.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
Kernel
. # lambda { . . . } -> Proc (18328.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。
& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block is deprecated; use the proc without lambda instead」
を出力します。
@raise Argum... -
FileTest
. # blockdev?(file) -> bool (18310.0) -
ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがブロックスペシャルファイルである時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.blockdev?(file)
}
# /dev/disk0
# /dev/di... -
FileTest
. # chardev?(file) -> bool (18310.0) -
ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.chardev?(file)
}
# /dev/console
# /dev/tty... -
FileTest
. # directory?(file) -> bool (18310.0) -
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
FileTest.directory?('/etc') # => true
FileTest.directory?('/etc/passwd') # => false
f = File.open('/etc')... -
FileTest
. # grpowned?(file) -> bool (18310.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... -
FileTest
. # owned?(file) -> bool (18310.0) -
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(Process.uid, -1, "testfile")
FileTest.owned?(... -
FileTest
. # readable?(file) -> bool (18310.0) -
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chmod(0644, "testfile")
FileTest.readable?("testfile") # => true
File.chmod(0200, "testfile")
FileTest.readable?("testfile"... -
FileTest
. # readable _ real?(file) -> bool (18310.0) -
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を
返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@see FileTest.#readable? -
FileTest
. # setgid?(file) -> bool (18310.0) -
ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setgid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("g+s", "testfile")
FileTest.setgid?("testfile") # => true
FileUtils.chmod("g-s", "... -
FileTest
. # setuid?(file) -> bool (18310.0) -
ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setuid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("u+s", "testfile")
FileTe... -
FileTest
. # world _ readable?(path) -> Integer | nil (18310.0) -
path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列を指定します。
m = FileTest.world_readable?("/etc/passwd")
"%o" % m # => "644" -
FileTest
. # world _ writable?(path) -> bool (18310.0) -
path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列を指定します。
m = FileTest.world_writable?("/tmp")
"%o" % m #=> "777" -
Kernel
. # _ _ dir _ _ -> String | nil (18310.0) -
現在のソースファイル(__FILE__)のあるディレクトリ名を正規化された絶対パ スで返します。シンボリックリンクも解決されます。また、__FILE__ が nil の場合は nil を返します。
現在のソースファイル(__FILE__)のあるディレクトリ名を正規化された絶対パ
スで返します。シンボリックリンクも解決されます。また、__FILE__ が nil
の場合は nil を返します。 -
Kernel
. # _ _ method _ _ -> Symbol | nil (18310.0) -
現在のメソッド名を返します。 メソッドの外で呼ばれると nil を返します。
現在のメソッド名を返します。
メソッドの外で呼ばれると nil を返します。
//emlist[例][ruby]{
def foo
p __method__
end
alias :bar :foo
foo #=> :foo
bar #=> :foo
p __method__ #=> nil
//}
現在のメソッド名が alias されたメソッドの場合でも alias 元のメソッド名
を返します。 -
Kernel
. # autoload(const _ name , feature) -> nil (18310.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
定数 const_name を最初に参照した時に feature を
Kernel.#require するように設定します。
const_name には、 "::" 演算子を含めることはできません。
ネストした定数を指定する方法は Module#autoload を参照してください。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoloadではなく)既に定義されているときは何もしません。
@param const_name 定数をString また... -
Kernel
. # autoload?(const _ name) -> String | nil (18310.0) -
const_name が Kernel.#autoload 設定されているか調べます。
const_name が Kernel.#autoload 設定されているか調べます。
autoload 設定されていて、autoload 定数がまだ定義されてない(ロードされていない)
ときにそのパス名を返します。
autoload 設定されていないか、ロード済みなら nil を返します。
@param const_name 定数をString または Symbol で指定します。
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
class Bar
end
end
# ----- end of /tm... -
Kernel
. # load(file , priv = false) -> true (18310.0) -
Ruby プログラム file をロードして実行します。再ロード可能です。
Ruby プログラム file をロードして実行します。再ロード可能です。
file が絶対パスのときは file からロードします。
file が相対パスのときは組み込み変数 $:
に示されるパスとカレントディレクトリを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
ロードに成功した場合は true を返します。
@param file ファイル名の文字列です。
@param priv 真のとき、ロ... -
Kernel
. # rand(max = 0) -> Integer | Float (18310.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
最初の形式では
max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。
それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。
二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。
まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。
擬似乱数生成器として Random... -
Kernel
. # rand(range) -> Integer | Float | nil (18310.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
最初の形式では
max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。
それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。
二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。
まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。
擬似乱数生成器として Random... -
Kernel
. # readline(rs = $ / ) -> String (18310.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
@raise EOFError readline... -
Kernel
. # readlines(rs = $ / ) -> [String] (18310.0) -
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
//emlist[main.rb][ruby]{
ARGV << 'b.txt' << 'b.txt'
p readlines #=> ["... -
Kernel
. # srand -> Integer (18310.0) -
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
seed に整数を指定するとその絶対値を乱数の種に設定します。
それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。
seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。
seed が省略された時には
現在の時刻やプロセス ID、srand を呼び出した回数、
また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。
@param seed 乱数の種となる整数を指定します。
... -
Kernel
. # srand(seed) -> Integer (18310.0) -
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
seed に整数を指定するとその絶対値を乱数の種に設定します。
それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。
seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。
seed が省略された時には
現在の時刻やプロセス ID、srand を呼び出した回数、
また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。
@param seed 乱数の種となる整数を指定します。
... -
Marshal
. # dump(obj , limit = -1) -> String (18310.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # dump(obj , port , limit = -1) -> IO (18310.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # load(port , proc = nil) -> object (18310.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
Math
. # ldexp(x , exp) -> Float (18310.0) -
実数 x に 2 の exp 乗をかけた数を返します。
実数 x に 2 の exp 乗をかけた数を返します。
@param x 実数
@param exp 整数。小数点以下切捨て。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
fraction, exponent = Math.frexp(1234)
Math.ldexp(fraction, exponent) # => 1234.0
//} -
ObjectSpace
. # _ id2ref(id) -> object (18310.0) -
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
@param id 取得したいオブジェクトの ID を整数で指定します。
@raise RangeError 対応するオブジェクトが存在しなければ発生します。
//emlist[例][ruby]{
a = "hoge"
p ObjectSpace._id2ref(a.__id__) #=> "hoge"
//} -
ObjectSpace
. # undefine _ finalizer(obj) -> object (18310.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end
def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_final... -
Process
. # daemon(nochdir = nil , noclose = nil) -> 0 (18310.0) -
プロセスから制御端末を切り離し、 バックグラウンドにまわってデーモンとして動作させます。
プロセスから制御端末を切り離し、
バックグラウンドにまわってデーモンとして動作させます。
カレントディレクトリを / に移動します。
ただし nochdir に真を指定したときにはこの動作は抑制され、
カレントディレクトリは移動しません。
標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。
ただし noclose に真を指定したときにはこの動作は抑制され、
リダイレクトは行なわれません。
@param nochdir true を指定した場合、カレントディレクトリを移動しません。
@param noclose true を指定した場合、標準入力・標準出... -
Process
. # detach(pid) -> Thread (18310.0) -
子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 指定した子プロセスが存在しなければ即座に nil で終了します。
子プロセス pid の終了を監視するスレッドを生成して返します。
生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。
指定した子プロセスが存在しなければ即座に nil で終了します。
@param pid 子スレッドのプロセス ID を整数で指定します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
pid = fork {
# child
sleep 3
}
p pid # => 7762
th... -
Process
. # egid -> Integer (18310.0) -
カレントプロセスの実効グループ ID を整数で返します。
カレントプロセスの実効グループ ID を整数で返します。
@see getegid(2) -
Process
. # egid=(gid) (18310.0) -
カレントプロセスの実効グループ ID を gid に設定します。
カレントプロセスの実効グループ ID を gid に設定します。
動作の詳細はプラットフォームに依存します。
実効グループ ID 以外のグループ ID も変更されるかも知れません。
@param gid 実効グループ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::GID.#eid= -
Process
. # euid -> Integer (18310.0) -
カレントプロセスの実効ユーザ ID を整数で返します。
カレントプロセスの実効ユーザ ID を整数で返します。
@see geteuid(2) -
Process
. # euid=(uid) (18310.0) -
カレントプロセスの実効ユーザ ID を uid に設定します。
カレントプロセスの実効ユーザ ID を uid に設定します。
動作の詳細はプラットフォームに依存します。
実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param uid 実効ユーザ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::UID.#eid= -
Process
. # getpgid(pid) -> Integer (18310.0) -
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
@param pid プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。
@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see getpgid(2) -
Process
. # getsid(pid = 0) -> Integer (18310.0) -
引数 pid で指定されたプロセスのセッション ID を返します。
引数 pid で指定されたプロセスのセッション ID を返します。
@param pid プロセス ID を整数で指定します。省略した場合、0 を指定した場
合は現在のプロセスの ID を指定した場合と同じ動作になります。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されて
いない場合に発生します。
Process.getsid() # => 27422
Process.getsid(0) # => 274... -
Process
. # gid -> Integer (18310.0) -
カレントプロセスの実グループ ID を返します。
カレントプロセスの実グループ ID を返します。
@see getgid(2) -
Process
. # gid=(gid) (18310.0) -
カレントプロセスの実グループ ID を gid に設定します。
カレントプロセスの実グループ ID を gid に設定します。
動作の詳細はプラットフォームに依存します。
実グループ ID 以外のグループ ID も変更されるかも知れません。
@param gid 実グループ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::GID -
Process
. # pid -> Integer (18310.0) -
カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。
カレントプロセスのプロセス ID を返します。変数 $$
の値と同じです。
@see getpid(2) -
Process
. # ppid -> Integer (18310.0) -
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
了した後は ppid は 1 (initの pid)になります。
@see getppid(2) -
Process
. # setpgid(pid , pgrp) -> 0 (18310.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 (18310.0) -
新しいセッションを作成して、tty を切り離します。デーモンを簡単に作 ることができます。セッション ID を返します。
新しいセッションを作成して、tty を切り離します。デーモンを簡単に作
ることができます。セッション ID を返します。
@raise Errno::EXXX セッションの作成に失敗した場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see setsid(2) -
Process
. # uid -> Integer (18310.0) -
プロセスの実ユーザ ID を返します。
プロセスの実ユーザ ID を返します。
@see getuid(2) -
Process
. # uid=(id) (18310.0) -
プロセスの実ユーザ ID を id に設定します。
プロセスの実ユーザ ID を id に設定します。
動作の詳細はプラットフォームに依存します。
実ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param id 実ユーザ ID を整数で指定します。
@raise Errno::EXXX 権限がない場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see Process::UID -
Process
:: GID . # eid -> Integer (18310.0) -
現在のプロセスの実効グループ ID を返します。
現在のプロセスの実効グループ ID を返します。
利用できるかはプラットフォームに依存します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
Process.egid #=> 500 -
Process
:: GID . # eid=(id) (18310.0) -
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
... -
Process
:: GID . # rid -> Integer (18310.0) -
現在のプロセスの実グループ ID を返します。
現在のプロセスの実グループ ID を返します。
Process.rid #=> 500 -
Process
:: GID . # sid _ available? -> bool (18310.0) -
現在のプラットフォームが保存グループ ID を持つなら true を返します。 そうでない場合に false を返します。
現在のプラットフォームが保存グループ ID を持つなら true を返します。
そうでない場合に false を返します。
ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存グループ ID を持つものと判定しています。
* setresgid() を持つ
* setegid() を持つ
* _POSIX_SAVED_IDS が真として定義されている -
Process
:: Sys . # getegid -> Integer (18310.0) -
システムコールの getegid(2) を呼びます。返り値を整数で返します。
システムコールの getegid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # geteuid -> Integer (18310.0) -
システムコールの geteuid(2) を呼びます。返り値を整数で返します。
システムコールの geteuid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # getgid -> Integer (18310.0) -
システムコールの getgid(2) を呼びます。返り値を整数で返します。
システムコールの getgid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # getuid -> Integer (18310.0) -
システムコールの getuid(2) を呼びます。返り値を整数で返します。
システムコールの getuid(2) を呼びます。返り値を整数で返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # issetugid -> bool (18310.0) -
システムコールの issetugid() を呼びます。
システムコールの issetugid() を呼びます。
プロセスが setuid もしくは setgid ビットを使って
起動されている場合に真を返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: Sys . # setegid(id) -> nil (18310.0) -
システムコールの setegid(2) を呼びます。
システムコールの setegid(2) を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # seteuid(id) -> nil (18310.0) -
システムコールの seteuid(2) を呼びます。
システムコールの seteuid(2) を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setgid(id) -> nil (18310.0) -
システムコールの setgid(2) を呼びます。
システムコールの setgid(2) を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setregid(rid , eid) -> nil (18310.0) -
システムコールの setregid(2) を呼びます。
システムコールの setregid(2) を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setresgid(rid , eid , sid) -> nil (18310.0) -
システムコールの setresgid を呼びます。
システムコールの setresgid を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@param sid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setresuid(rid , eid , sid) -> nil (18310.0) -
システムコールの setresuid を呼びます。
システムコールの setresuid を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@param sid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setreuid(rid , eid) -> nil (18310.0) -
システムコールの setreuid(2) を呼びます。
システムコールの setreuid(2) を呼びます。
@param rid システムコールの引数を整数で指定します。
@param eid システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setrgid(id) -> nil (18310.0) -
システムコールの setrgid を呼びます。
システムコールの setrgid を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setruid(id) -> nil (18310.0) -
システムコールの setruid を呼びます。
システムコールの setruid を呼びます。
@param id システムコールの引数を整数で指定します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: Sys . # setuid(id) -> nil (18310.0) -
システムコールの setuid(2) を呼びます。
システムコールの setuid(2) を呼びます。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
@raise Errno::EXXX システムコールに失敗した場合に発生します。 -
Process
:: UID . # eid -> Integer (18310.0) -
現在の実効ユーザ ID を返します。
現在の実効ユーザ ID を返します。 -
Process
:: UID . # eid=(id) (18310.0) -
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。
利用できるか... -
Process
:: UID . # rid -> Integer (18310.0) -
現在の実ユーザ ID を返します。
現在の実ユーザ ID を返します。 -
Process
:: UID . # sid _ available? -> bool (18310.0) -
保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。
保存ユーザ ID を持つ環境かどうかを真偽値で返します。
保存ユーザ ID を持つなら true を返します。
ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存ユーザ ID を持つものと判定しています。
* setresuid() を持つ
* seteuid() を持つ
* _POSIX_SAVED_IDS が真として定義されている -
Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil (9310.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 (9310.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
:: GID . # change _ privilege(id) -> Integer (9310.0) -
実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。
実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。
利用できるかはプラットフォームに依存します。
@param id グループ ID を整数で指定します。
@raise ArgumentError 変更できないグループ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各グループ ID の値が保存されているかどうかは保証されません。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されて... -
Process
:: GID . # grant _ privilege(id) -> Integer (9310.0) -
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
... -
Process
:: UID . # change _ privilege(id) -> Integer (9310.0) -
実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。
実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。
利用できるかはプラットフォームに依存します。
@param id ユーザ ID を整数で指定します。
@raise ArgumentError 変更できないユーザ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各ユーザ ID の値が保存されているかどうかは保証されません。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に... -
Process
:: UID . # grant _ privilege(id) -> Integer (9310.0) -
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。
利用できるか... -
Kernel
. # proc { . . . } -> Proc (9028.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。
& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block is deprecated; use the proc without lambda instead」
を出力します。
@raise Argum... -
Marshal
. # restore(port , proc = nil) -> object (9010.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
Process
:: GID . # from _ name(name) -> Integer (9010.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 . # re _ exchange -> Integer (9010.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
:: GID . # re _ exchangeable? -> bool (9010.0) -
現在のプラットフォームで Process::GID.#re_exchange が実装されている なら true を返します。そうでない場合に false を返します。
現在のプラットフォームで Process::GID.#re_exchange が実装されている
なら true を返します。そうでない場合に false を返します。 -
Process
:: GID . # switch -> Integer (9010.0) -
実効グループ ID を一時的に変更するために使います。
実効グループ ID を一時的に変更するために使います。
実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。
ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。
@raise Errno::E... -
Process
:: GID . # switch { . . . } -> object (9010.0) -
実効グループ ID を一時的に変更するために使います。
実効グループ ID を一時的に変更するために使います。
実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。
ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。
@raise Errno::E... -
Process
:: UID . # from _ name(name) -> Integer (9010.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 . # re _ exchange -> Integer (9010.0) -
実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。
実ユーザ ID と実効ユーザ ID とを入れ換えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効ユーザ ID を返します。
利用できるかはプラットフォームに依存します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。 -
Process
:: UID . # re _ exchangeable? -> bool (9010.0) -
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。 -
Process
:: UID . # switch -> Integer (9010.0) -
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。
ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID ... -
Process
:: UID . # switch { . . . . } -> object (9010.0) -
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。
ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID ... -
Kernel
. # format(format , *arg) -> String (568.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # sprintf(format , *arg) -> String (568.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # `(command) -> String (328.0) -
command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。
command を外部コマンドとして実行し、その標準出力を文字列として
返します。このメソッドは `command` の形式で呼ばれます。
引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、
コマンドとして実行します。
コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、$? を参照します。
コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。
d:spec/literal#command ... -
Kernel
. # test(cmd , file) -> bool | Time | Integer | nil (328.0) -
単体のファイルでファイルテストを行います。
単体のファイルでファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 下表に特に明記していないものは、真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?r
ファイルを実効 uid で読むことができる
: ?w
ファイルに実効 uid で書くことができる
: ?x
ファイルを... -
Signal
. # trap(signal , command) -> String | Proc | nil (328.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。
trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場... -
Kernel
. # test(cmd , file1 , file2) -> bool (313.0) -
2ファイル間のファイルテストを行います。
2ファイル間のファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file1 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@param file2 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?=
ファイル1とファイル2の最終更新時刻が等しい
: ?>
フ... -
Kernel
. # caller _ locations(range) -> [Thread :: Backtrace :: Location] | nil (310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # caller _ locations(start = 1 , length = nil) -> [Thread :: Backtrace :: Location] | nil (310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (310.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # exec(command , options={}) -> () (310.0) -
引数で指定されたコマンドを実行します。
引数で指定されたコマンドを実行します。
プロセスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options...