種類
- モジュール関数 (19)
- インスタンスメソッド (5)
- 特異メソッド (1)
- 定数 (1)
- 変数 (1)
クラス
- IO (1)
-
Process
:: Status (2) - SignalException (2)
検索結果
先頭5件
-
IO
# pid -> Integer | nil (97000.0) -
自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。
自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を
返します。それ以外は nil を返します。
@raise IOError 既に close されている場合に発生します。
//emlist[例][ruby]{
IO.popen("-") do |pipe|
if pipe
$stderr.puts "In parent, child pid is #{pipe.pid}" # => In parent, child pid is 16013
else
$stderr.puts "In child, pid is #{$$}" ... -
Process
. # pid -> Integer (96910.0) -
カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。
カレントプロセスのプロセス ID を返します。変数 $$
の値と同じです。
@see getpid(2) -
Process
:: Status # pid -> Integer (96910.0) -
終了したプロセスのプロセス ID を返します。
終了したプロセスのプロセス ID を返します。 -
Process
. # ppid -> Integer (60955.0) -
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
了した後は ppid は 1 (initの pid)になります。
@see getppid(2) -
Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil (52483.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 (52483.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 な... -
SignalException
# signm -> String (51625.0) -
self.message のエイリアスです。
self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//} -
SignalException
# signo -> Integer (51625.0) -
self のシグナル番号を返します。
self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//} -
Process
. # setpgid(pid , pgrp) -> 0 (43312.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
. # getsid(pid = 0) -> Integer (43294.0) -
引数 pid で指定されたプロセスのセッション ID を返します。
引数 pid で指定されたプロセスのセッション ID を返します。
@param pid プロセス ID を整数で指定します。省略した場合、0 を指定した場
合は現在のプロセスの ID を指定した場合と同じ動作になります。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されて
いない場合に発生します。
Process.getsid() # => 27422
Process.getsid(0) # => 274... -
Process
. # getpgid(pid) -> Integer (43276.0) -
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
@param pid プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。
@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see getpgid(2) -
Process
. # wait(pid = -1 , flags = 0) -> Integer | nil (43183.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
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (43183.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
. # kill(signal , pid , *rest) -> Integer (43042.0) -
pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。
pid で指定されたプロセスにシグナルを送ります。signal
はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。
全てのシグナル送信に成功した場合、指定した pid の総数を返します。
@param signal シグナルをシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。
@param pid シグナルを送りたいプロセスのプロセス ID を整数で指定します。ただし、0 以下の場合は以下のような意味になります。
* 0 ... -
Process
:: Status # inspect -> String (42979.0) -
自身を人間が読みやすい形の文字列表現にして返します。
自身を人間が読みやすい形の文字列表現にして返します。
プロセスの状態を以下のフォーマットで返します。
: 正常終了のとき
#<Process::Status: pid=18262,exited(nnn)>
: シグナルによる停止のとき
#<Process::Status: pid=18262,stopped(SIGxxx=nnn)>
: シグナルによる終了のとき
#<Process::Status: pid=18262,signaled(SIGxxx=nnn)>
: コアダンプしたとき(このステータスの表示はシステムに依存します)
#<Process::Status: pid=1... -
Process
. # waitall -> [[Integer , Process :: Status]] (42691.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... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (25165.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 (25165.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
Process
. # detach(pid) -> Thread (25048.0) -
子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 指定した子プロセスが存在しなければ即座に nil で終了します。
子プロセス pid の終了を監視するスレッドを生成して返します。
生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。
指定した子プロセスが存在しなければ即座に nil で終了します。
@param pid 子スレッドのプロセス ID を整数で指定します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
pid = fork {
# child
sleep 3
}
p pid # => 7762
th... -
Kernel
. # fork -> Integer | nil (25003.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 (25003.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
. # `(command) -> String (24715.0) -
command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。
command を外部コマンドとして実行し、その標準出力を文字列として
返します。このメソッドは `command` の形式で呼ばれます。
引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、
コマンドとして実行します。
コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、$? を参照します。
コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
Kernel.#system を使います。特に端末を制御するコマンドでは
`command` は失敗するかもしれません。
d:spec/literal#command ... -
Kernel
. # spawn(command , options={}) -> Integer (24700.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Kernel
. # spawn(env , command , options={}) -> Integer (24700.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Process
:: WUNTRACED -> Integer (24697.0) -
Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。
Process.#waitpid の第二引数に指定するフラグです。
このフラグが指定された場合、waitpid は停止しているだけで
終了していない子プロセスのプロセス ID も返すようになります。
trace されている子プロセスの ID は返しません。
include Process
pid = fork{ Process.kill('SIGSTOP', Process.pid) }
p pid #=> 4336
p waitpid2(pid, WUNTRACED) #=> [4336, #<Process::Statu... -
Kernel
$ $ $ -> Integer (24655.0) -
現在実行中の Ruby プロセスのプロセス ID です。 Process.#pid と同じです。
現在実行中の Ruby プロセスのプロセス ID です。
Process.#pid と同じです。
この変数はグローバルスコープです。 -
Process
. last _ status -> Process :: Status | nil (24625.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 $?