るりまサーチ

最速Rubyリファレンスマニュアル検索!
77件ヒット [1-77件を表示] (0.081秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

モジュール

キーワード

検索結果

IO#pid -> Integer | nil (26145.0)

自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。

...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 #{$$}" # => In child, pid is 16013
end
end
//}...

Kernel.#spawn(env, program, *args, options={}) -> Integer (8236.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

...数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid
= spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//}

親プロセスは Process.#waitpid で子プロセスの終了を待ち合わせるか
もしくは Process.#detach で子プロセスを...
...トを実現できます。

: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
true がデフォルトです。


=== option引数によるリダイレク...
...定したもの以外の環境変数を
クリアします。
//emlist[][ruby]{
# すべての環境変数をクリア
pid
= spawn(command, :unsetenv_others=>true)
# FOO だけ
pid
= spawn({"FOO"=>"BAR"}, command, :unsetenv_others=>true)
//}

「:pgroup」でプロセスグループを指定でき...
...トを実現できます。

: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。

: :exception
Kernel.#system のみで...

Kernel.#spawn(program, *args) -> Integer (8236.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

...数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid
= spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//}

親プロセスは Process.#waitpid で子プロセスの終了を待ち合わせるか
もしくは Process.#detach で子プロセスを...
...トを実現できます。

: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
true がデフォルトです。


=== option引数によるリダイレク...
...定したもの以外の環境変数を
クリアします。
//emlist[][ruby]{
# すべての環境変数をクリア
pid
= spawn(command, :unsetenv_others=>true)
# FOO だけ
pid
= spawn({"FOO"=>"BAR"}, command, :unsetenv_others=>true)
//}

「:pgroup」でプロセスグループを指定でき...
...トを実現できます。

: :close_others
これを true に設定すると
リダイレクトされていない、0(stdin), 1(stdout), 2(stderr) 以外の
ファイルデスクリプタをすべて閉じます。
false がデフォルトです。

: :exception
Kernel.#system のみで...

Kernel.#fork -> Integer | nil (8140.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

... STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"...
...# => parent process. pid: 81060, child pid: 81329

# 親プロセスでの処理
# ...

# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
else
puts "child process. pid: #{Process.pid}"
# => child process. pid: 81329

# 子プロセスでの処理
sleep(1)
en...
...た場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602

# 子プロセスでの処理
sleep(1)
end

puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 79055, child pid: 79602

# 親プロセス...

Kernel.#fork { ... } -> Integer | nil (8140.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

... STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"...
...# => parent process. pid: 81060, child pid: 81329

# 親プロセスでの処理
# ...

# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
else
puts "child process. pid: #{Process.pid}"
# => child process. pid: 81329

# 子プロセスでの処理
sleep(1)
en...
...た場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602

# 子プロセスでの処理
sleep(1)
end

puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 79055, child pid: 79602

# 親プロセス...

絞り込み条件を変える

Kernel.#spawn(command, options={}) -> Integer (8041.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。


=== 引数の解釈

この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash...

Kernel.#spawn(env, command, options={}) -> Integer (8041.0)

引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。


=== 引数の解釈

この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash...