ライブラリ
- ビルトイン (429)
- open3 (11)
-
shell
/ process-controller (6)
クラス
- File (11)
- IO (154)
- Object (11)
-
Process
:: Status (11) -
Shell
:: ProcessController (6) - Thread (22)
キーワード
- >> (11)
-
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 3
. 1 . 0 (3) - Open3 (11)
- WUNTRACED (11)
- Win32ネイティブ版Rubyの互換性問題 (11)
-
at
_ exit (11) - detach (11)
- exec (44)
- exit! (11)
- flock (11)
- popen (154)
-
respond
_ to? (11) - setpgrp (11)
- sfork (6)
- start (11)
- trap (22)
- wait (11)
- wait2 (11)
- waitall (11)
- waitpid (11)
- waitpid2 (11)
- セキュリティモデル (2)
検索結果
先頭5件
-
Kernel
. # fork -> Integer | nil (18242.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: #{Process.pid},......# => child process. pid: 81329
# 子プロセスでの処理
sleep(1)
end
//}
//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602
# 子プロセスでの処理
sleep(1)
end
puts "parent proc... -
Kernel
. # fork { . . . } -> Integer | nil (18242.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: #{Process.pid},......# => child process. pid: 81329
# 子プロセスでの処理
sleep(1)
end
//}
//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602
# 子プロセスでの処理
sleep(1)
end
puts "parent proc... -
Process
. fork -> Integer | nil (18224.0) -
子プロセスを生成します。関数 Kernel.#fork と同じです。
...子プロセスを生成します。関数 Kernel.#fork と同じです。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see fork(2)... -
Process
. fork { . . . } -> Integer | nil (18224.0) -
子プロセスを生成します。関数 Kernel.#fork と同じです。
...子プロセスを生成します。関数 Kernel.#fork と同じです。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@see fork(2)... -
Thread
. fork(*arg) {|*arg| . . . } -> Thread (18201.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコー... -
Shell
:: ProcessController # sfork(command) { . . . } -> [Integer , IO , IO] (6216.0) -
シンプルな fork です。
...シンプルな fork です。
@param command コマンドを指定します。
@return [PID, 入力用 IO, 出力用 IO] からなる配列を返します。... -
Thread
. start(*arg) {|*arg| . . . } -> Thread (3101.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコー... -
Win32ネイティブ版Rubyの互換性問題 (3028.0)
-
Win32ネイティブ版Rubyの互換性問題 platform/Win32-nativeRubyは、できる限りUnix版と同等の動作をするように 意図して作られていますが、 OS自体の制限などにより、いくつかの非互換性があります。また、実装上の制限・ バグもいくつか残っているようです。
...Win32ネイティブ版Rubyの互換性問題
platform/Win32-nativeRubyは、できる限りUnix版と同等の動作をするように
意図して作られていますが、
OS自体の制限などにより、いくつかの非互換性があります。また、実装上の制限・
バグもい......す。気づいたことのあるひとは
どんどん書き足してください。
== プロセスの扱い
最も重要な違いとして、fork が動作しないことがあげられます。Unix向けに書かれている
デーモン系のアプリケーションが動かないのはこ......が実際には何も行いません。
ドライブレター絡みで未だに幾つかの実装上の漏れがあります--platform/DOSISH-support。
また、同様に、-Ksを指定してあっても、日本語ファイル名の扱いで問題が発生する
ことがあります。
== シ... -
NEWS for Ruby 3
. 1 . 0 (288.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...private def foo = puts "Hello" はパースされないことに注意してください。 17398
== コマンドラインオプション
* --disable-gems は"デバッグ専用"として明示的に宣言されました。デバッグ専用以外のコードでは使用しないでください......ess
* 新規メソッド
* Process._forkが追加されました。これは fork(2) のコアメソッドです。このメソッドを直接呼び出さないでください。既存のforkメソッド(Kernel.#fork、Process.fork、IO.popen("-"))によって呼び出されます。アプ......リケーションモニタリングライブラリは、このメソッドを上書きしてforkイベントをフックすることができます。 17795
* Struct
* 新規メソッド
* StructClass#keyword_init? が追加されました。 18008
* 変更されたメソッド... -
Process
. # wait(pid = -1 , flags = 0) -> Integer | nil (122.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...し元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待......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
. # wait2(pid = -1 , flags = 0) -> [Integer , Process :: Status] | nil (122.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...し元のプロセスとプロセスグループ ID が同じ任意の子プロセスを待ちます。
-1 (省略時のデフォルト) は任意の子プロセスを待ちます。
-1 未満なら pid の絶対値とプロセスグループ ID が同じ任意の子プロセスを待......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)...