種類
- モジュール関数 (55)
- インスタンスメソッド (44)
- クラス (22)
- 変数 (11)
- 特異メソッド (7)
クラス
-
Process
:: Status (33) - Thread (11)
検索結果
先頭5件
-
Process
:: Status (29044.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
...クラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのス......false
p "child #{$?.pid} dumped core."
end
when $?.stopped?
# 実際には Process.wait を使用しているので、ここに来ることはない
p "child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
p "child #{$?.pid} exited normally. status=#{$?.exits......tatus}"
else
p "unknown status %#x" % $?.to_i
end
SIGCHLD を trap する例
trap(:SIGCHLD) {|sig|
puts "interrupted by signal #{sig} at #{caller[1]}"
# 複数の子プロセスの終了に対して1つの SIGCHLD しか届かない
# 場合があるのでループさせる... -
Process
:: Status # exitstatus -> Integer | nil (23303.0) -
exited? が真の場合プロセスが返した終了ステータスの整数を、そ うでない場合は nil を返します。
...
exited? が真の場合プロセスが返した終了ステータスの整数を、そ
うでない場合は nil を返します。... -
Process
. last _ status -> Process :: Status | nil (17435.0) -
カレントスレッドで最後に終了した子プロセスのステータスを返します。
...。
Process.wait Process.spawn("ruby", "-e", "exit 13")
Process.last_status # => #<Process::Status: pid 4825 exit 13>
カレントスレッドで子プロセスを実行したことがない場合は nil を返します。
Process.last_status # => nil
@see Process::Status
@see $?... -
Thread
# status -> String | false | nil (17435.0) -
生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。
..."、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。
Thread#alive? が真を返すなら、このメソッドも真です。
例:
a = Thread.new { raise("die now")......read.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill #=> #<Thread:0x401b3678 aborting>
a.status #=> nil
b.status #=> "sleep"
c.status #=> false
d.status #=> "aborting"
Thre......ad.current.status #=> "run"
@see Thread#alive?, Thread#stop?... -
Process
:: Status # termsig -> Integer | nil (17303.0) -
signaled? が真の場合プロセスを終了させたシグナル番号を、 そうでない場合は nil を返します。
...signaled? が真の場合プロセスを終了させたシグナル番号を、
そうでない場合は nil を返します。... -
Process
:: Status # stopsig -> Integer | nil (14203.0) -
stopped? が真の場合そのシグナルの番号を、そうでない場合は nil を返します。
...stopped? が真の場合そのシグナルの番号を、そうでない場合は
nil を返します。... -
Process
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (11336.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされ......セスグループ ID が同じ任意の子プロセスを待ちます。
@param flags Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と
Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。
ノン......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 (11336.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされ......セスグループ ID が同じ任意の子プロセスを待ちます。
@param flags Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と
Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。
ノン......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
$ $ ? -> Process :: Status | nil (11322.0) -
このスレッドで最後に終了した子プロセスのステータスです。
...了した子プロセスのステータスです。
Process::Status オブジェクトが入っています。
子プロセスの終了時ステータスは Process::Status#exitstatus で得られます。
この変数はスレッドローカルで読み取り専用です。
@see Process.#wait......のステータスです。
Process::Status オブジェクトが入っています。
子プロセスの終了時ステータスは Process::Status#exitstatus で得られます。
この変数はスレッドローカルで読み取り専用です。
@see Process.#wait
@see Process.last_status... -
Process
. # waitall -> [[Integer , Process :: Status]] (11243.0) -
全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。
...(Process::Status) の配列の配列を返します。
子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。
$? には最後に終了した子プロセスの Process::Status オブジェクトが設定されます。
2.times {|n|
Process.f......ork() { exit n }
}
p Process.waitall
#=> :Status: pid=2766,exited(1)>], [2765, #<Process::Status: pid=2765,exited(1)>...