ライブラリ
- ビルトイン (348)
-
shell
/ process-controller (6)
クラス
- IO (168)
- Object (12)
-
Shell
:: ProcessController (6) - Thread (24)
キーワード
-
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 3
. 1 . 0 (4) - NotImplementedError (12)
- WUNTRACED (12)
- Win32ネイティブ版Rubyの互換性問題 (12)
-
at
_ exit (12) - detach (12)
- exec (24)
-
pipe
_ open (12) - popen (168)
-
rb
_ fork (1) -
rb
_ fork _ err (1) -
rb
_ thread _ atfork (12) -
respond
_ to? (12) - sfork (6)
- start (12)
- trap (24)
- wait (12)
- wait2 (12)
- waitpid (12)
- waitpid2 (12)
検索結果
先頭5件
- Thread
. fork(*arg) {|*arg| . . . } -> Thread - void rb
_ thread _ atfork(void) - Shell
:: ProcessController # sfork(command) { . . . } -> [Integer , IO , IO] - rb
_ pid _ t rb _ fork(int *status , int (*chfunc)(void*) , void *charg , VALUE fds) - rb
_ pid _ t rb _ fork _ err(int *status , int (*chfunc)(void* , char * , size _ t) , void *charg , VALUE fds , char *errmsg , size _ t errmsg _ buflen)
-
Thread
. fork(*arg) {|*arg| . . . } -> Thread (21201.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
void rb
_ thread _ atfork(void) (12200.0) -
-
Shell
:: ProcessController # sfork(command) { . . . } -> [Integer , IO , IO] (6216.0) -
シンプルな fork です。
...シンプルな fork です。
@param command コマンドを指定します。
@return [PID, 入力用 IO, 出力用 IO] からなる配列を返します。... -
rb
_ pid _ t rb _ fork(int *status , int (*chfunc)(void*) , void *charg , VALUE fds) (6200.0) -
この関数は deprecated です。
...この関数は deprecated です。... -
rb
_ pid _ t rb _ fork _ err(int *status , int (*chfunc)(void* , char * , size _ t) , void *charg , VALUE fds , char *errmsg , size _ t errmsg _ buflen) (6200.0) -
この関数は deprecated です。
...この関数は deprecated です。... -
Object
# respond _ to?(name , include _ all = false) -> bool (6118.0) -
オブジェクトがメソッド name を持つとき真を返します。
...が メソッド name に応答できることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込......otImplementedError が発生する場合は true を返します。
メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。
@param name Symbol または文字列で指定するメソッド名です。
@param include_all priva......tected メソッドを確認の対象に
含めるかを true か false で指定します。省略した場合
は false(含めない) を指定した事になります。
//emlist[][ruby]{
class F
def hello
"Bonjour"
end
end
class D
private
def h... -
Process
. # detach(pid) -> Thread (6106.0) -
子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 指定した子プロセスが存在しなければ即座に nil で終了します。
...ス pid の終了を監視するスレッドを生成して返します。
生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。
指定した子プロセスが存在しなければ即座に nil で終了します。
@param pid 子......のプロセス ID を整数で指定します。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
pid = fork {
# child
sleep 3
}
p pid # => 7762
th = Process.detach(pid)
p th.value......# => #<Process::Status: pid 7762 exit 0>... -
Process
:: WUNTRACED -> Integer (6106.0) -
Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。
...tpid の第二引数に指定するフラグです。
このフラグが指定された場合、waitpid は停止しているだけで
終了していない子プロセスのプロセス ID も返すようになります。
trace されている子プロセスの ID は返しません。
include P......rocess
pid = fork{ Process.kill('SIGSTOP', Process.pid) }
p pid #=> 4336
p waitpid2(pid, WUNTRACED) #=> [4336, #<Process::Status: pid=4336,stopped(SIGSTOP=19)>]
@see waitpid(2)... -
Thread
. start(*arg) {|*arg| . . . } -> Thread (6101.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
NotImplementedError (6018.0)
-
現在のプラットフォームで実装されていない機能が呼び出されたときに発生します。
...cやforkのシステムコールに依存するメソッドが呼び出されたとき、OSまたはRubyの実行環境がそれらのシステムコールをサポートしていない場合、この例外が発生します。
forkがNotImplementedErrorを発生させる場合respond_to?(:fork)は... -
Process
. # waitpid(pid = -1 , flags = 0) -> Integer | nil (3106.0) -
pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。
...pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモー......セットされます。
@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 なら呼び出し元のプロセスとプロセスグループ ID が同じ任意の子プロセス......します。waitpid(2) か wait4(2) の実装されていないマシンでは
flags はいつも nil または 0 を指定する必要があります。
@raise Errno::ECHILD 子プロセスが存在しない場合に発生します。
//emlist[][ruby]{
pid = fork { sleep 1 }
Process....