検索結果
先頭5件
- Process
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil - Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil - Process
. # waitpid2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil - Kernel
. # system(env , program , *args , options={}) -> bool | nil - Kernel
. # system(program , *args , options={}) -> bool | nil
-
Process
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (6107.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...t2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。
$? に終了した子プロセスの Process::Stat......)と
Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。waitpid(2) か wait4(2) の実装されていない......flags はいつも nil または 0 を指定する必要があります。
@raise Errno::ECHILD 子プロセスが存在しない場合に発生します。
//emlist[][ruby]{
pid = fork { sleep 1 }
Process.wait2 # => [70024, #<Process::Status: pid 70024 exit 0>]
//}
@see wait(2), waitpid(2)... -
Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil (6107.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...t2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。
$? に終了した子プロセスの Process::Stat......)と
Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。waitpid(2) か wait4(2) の実装されていない......flags はいつも nil または 0 を指定する必要があります。
@raise Errno::ECHILD 子プロセスが存在しない場合に発生します。
//emlist[][ruby]{
pid = fork { sleep 1 }
Process.wait2 # => [70024, #<Process::Status: pid 70024 exit 0>]
//}
@see wait(2), waitpid(2)... -
Process
. # waitpid2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (6107.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...t2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。
$? に終了した子プロセスの Process::Stat......)と
Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。waitpid(2) か wait4(2) の実装されていない......flags はいつも nil または 0 を指定する必要があります。
@raise Errno::ECHILD 子プロセスが存在しない場合に発生します。
//emlist[][ruby]{
pid = fork { sleep 1 }
Process.wait2 # => [70024, #<Process::Status: pid 70024 exit 0>]
//}
@see wait(2), waitpid(2)... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (6105.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...ータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返......失敗したの
かは、普通 $? を参照することで判別可能です。
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントディレクトリ
* umask
* 子プロセスでのリダイレクト
な......ても環境変数 PATH から探します。
@param program 文字列か2要素の配列です。
@param args program に渡す引数を 0 個以上指定する
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise ArgumentError 第一引数が... -
Kernel
. # system(program , *args , options={}) -> bool | nil (6105.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...ータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返......失敗したの
かは、普通 $? を参照することで判別可能です。
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントディレクトリ
* umask
* 子プロセスでのリダイレクト
な......ても環境変数 PATH から探します。
@param program 文字列か2要素の配列です。
@param args program に渡す引数を 0 個以上指定する
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise ArgumentError 第一引数が... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (3007.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...クを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難....../emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジェクトが GC の対象になりません。
tempfil......避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (3007.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...クを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難....../emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づけるため。そのオブジェクトが GC の対象になりません。
tempfil......避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されます... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (213.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
...prompt を出力し、ユーザからのキー入力を待ちます。
エンターキーの押下などでユーザが文字列を入力し終えると、
入力した文字列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します......ドです。
@param prompt カーソルの前に表示する文字列を指定します。デフォルトは""です。
@param add_hist 真ならば、入力した文字列をヒストリに記録します。デフォルトは偽です。
@raise IOError 標準入力が tty でない、かつ、標......準入力をクローズしている
(isatty(2) の errno が EBADF である。) 場合に発生します。
例:
require "readline"
input = Readline.readline
(プロンプトなどは表示せずに、入力待ちの状態になります。
ここでは「abc」を入力... -
Open3
. # pipeline _ r(*cmds) {|last _ stdout , wait _ thrs| . . . } -> () (207.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。
...それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環......名を表す String を指定します。
1、2、3 は shell 経由で実行されます。
(1) commandline
(2) [commandline, options]
(3) [env, commandline, options]
(4) [env, cmdname, arg1, arg2, ..., options]
(5) [env, [cmdname, argv0], arg1, ..., options]
@return ブロック......します。
例:
require "open3"
Open3.pipeline_r("yes", "head -10") {|r, ts|
p r.read #=> "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\n"
p ts[0].value #=> #<Process::Status: pid 24910 SIGPIPE (signal 13)>
p ts[1].value #=> #<Process::Status: pid 24913 exit 0>
}
@see Open3.#popen3... -
Open3
. # pipeline(*cmds) -> [Process :: Status] (119.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。
...それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環......名を表す String を指定します。
1、2、3 は shell 経由で実行されます。
(1) commandline
(2) [commandline, options]
(3) [env, commandline, options]
(4) [env, cmdname, arg1, arg2, ..., options]
(5) [env, [cmdname, argv0], arg1, ..., options]
@return 実行した......fname = "/usr/share/man/man1/ruby.1.gz"
p Open3.pipeline(["zcat", fname], "nroff -man", "less")
#=> [#<Process::Status: pid 11817 exit 0>,
# #<Process::Status: pid 11820 exit 0>,
# #<Process::Status: pid 11828 exit 0>]
例2:
require "open3"
Open3.pipeline([{"LANG"=>"C"}, "en...