クラス
-
Process
:: Status (22)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - WUNTRACED (11)
- ` (11)
- capture2e (11)
- capture3 (11)
- check (11)
- detach (11)
- inspect (11)
-
last
_ status (7) - pipeline (11)
-
pipeline
_ r (22) -
pipeline
_ start (22) -
rb
_ fork (1) -
rb
_ fork _ err (1) - wait (11)
- wait2 (11)
- waitall (11)
- waitpid (11)
- waitpid2 (11)
検索結果
先頭5件
-
Process
:: Status # pid -> Integer (27201.0) -
終了したプロセスのプロセス ID を返します。
...終了したプロセスのプロセス ID を返します。... -
Process
:: Status (18120.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
...クラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのス......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=#{$?.exitstatus}"
e...... status %#x" % $?.to_i
end
SIGCHLD を trap する例
trap(:SIGCHLD) {|sig|
puts "interrupted by signal #{sig} at #{caller[1]}"
# 複数の子プロセスの終了に対して1つの SIGCHLD しか届かない
# 場合があるのでループさせる必要があります
whi... -
Process
. # waitpid2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (9506.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモー......していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを......元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待ち... -
Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil (9406.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモー......していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを......元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待ち... -
Process
:: Status # inspect -> String (9248.0) -
自身を人間が読みやすい形の文字列表現にして返します。
...します。
: 正常終了のとき
#<Process::Status: pid=18262,exited(nnn)>
: シグナルによる停止のとき
#<Process::Status: pid=18262,stopped(SIGxxx=nnn)>
: シグナルによる終了のとき
#<Process::Status: pid=18262,signaled(SIGxxx=nnn)>
: コアダンプしたとき(この......ステータスの表示はシステムに依存します)
#<Process::Status: pid=18262,coredumped>... -
Process
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (6406.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモー......していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを......元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待ち... -
Process
. last _ status -> Process :: Status | nil (6332.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 $?... -
Process
. # wait(pid = -1 , flags = 0) -> Integer | nil (6306.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモー......していない時には
nil を返します。
$? に終了した子プロセスの Process::Status オブジェクトがセットされます。
@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを......元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待ち... -
Process
. # waitall -> [[Integer , Process :: Status]] (6263.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::Status: pid=2765,exited(1)>... -
Open3
. # pipeline(*cmds) -> [Process :: Status] (6237.0) -
指定したコマンドのリストをパイプで繋いで順番に実行します。
...それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環......tions]
(5) [env, [cmdname, argv0], arg1, ..., options]
@return 実行したコマンドの終了ステータスを配列で返します。
例1:
require "open3"
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"}, "env"], ["grep", "LANG"], "less")
@see Open3.#popen3...