るりまサーチ

最速Rubyリファレンスマニュアル検索!
162件ヒット [1-100件を表示] (0.042秒)
トップページ > クエリ:io[x] > クエリ:popen[x] > クエリ:pid[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

IO#pid -> Integer | nil (27191.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 pare...
...nt, 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 (388.0)

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

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

親プロセスは Process.#waitpid で子プロセスの終了を待ち合わせるか
もしくは Process.#detach で子プロセスを...
...ラム名になります。
また、第1要素はフルパスで指定しなくても環境変数 PATH から探します。

=== option引数の概要
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントデ...
...ます。
これを用いて、IO.popen で、子プロセスの
stderr と stdout を混ぜる例を以下に示します。
//emlist[][ruby]{
io
= IO.popen(["sh", "-c", "echo out; echo err >&2", :err=>[:child, :out]])
p io.read #=> "out\nerr\n
//}

spawn と IO.popen では
デフォルトでは...

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

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

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

親プロセスは Process.#waitpid で子プロセスの終了を待ち合わせるか
もしくは Process.#detach で子プロセスを...
...ラム名になります。
また、第1要素はフルパスで指定しなくても環境変数 PATH から探します。

=== option引数の概要
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントデ...
...ます。
これを用いて、IO.popen で、子プロセスの
stderr と stdout を混ぜる例を以下に示します。
//emlist[][ruby]{
io
= IO.popen(["sh", "-c", "echo out; echo err >&2", :err=>[:child, :out]])
p io.read #=> "out\nerr\n
//}

spawn と IO.popen では
デフォルトでは...

PTY.#getpty(command) -> [IO, IO, Integer] (230.0)

擬似 tty を確保し、指定されたコマンドをその擬似 tty の向こうで実行し、配列を返します。

...n 返値は3つの要素からなる配列です。最初の要素は擬似 tty から
読み出すための IO オブジェクト、2番目の要素は書きこむための IO オブジェクト、
3番目の要素は子プロセスのプロセス ID です。
このメソ...
...ッドがブロック付き呼ばれた場合、これらの要素はブロックパラメータとして渡され、
メソッド自体は nil を返します。


@see Kernel.#spawn, Kernel.#system, IO.popen, signal(2)...

PTY.#spawn(command) -> [IO, IO, Integer] (230.0)

擬似 tty を確保し、指定されたコマンドをその擬似 tty の向こうで実行し、配列を返します。

...n 返値は3つの要素からなる配列です。最初の要素は擬似 tty から
読み出すための IO オブジェクト、2番目の要素は書きこむための IO オブジェクト、
3番目の要素は子プロセスのプロセス ID です。
このメソ...
...ッドがブロック付き呼ばれた場合、これらの要素はブロックパラメータとして渡され、
メソッド自体は nil を返します。


@see Kernel.#spawn, Kernel.#system, IO.popen, signal(2)...

絞り込み条件を変える

Kernel.#fork -> Integer | nil (156.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)
end
//}...
...leep(1)
end

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

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

# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
//}


@see IO.popen,IO.pipe,Kernel.#at_exit,Kernel.#exit...

Kernel.#fork { ... } -> Integer | nil (156.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)
end
//}...
...leep(1)
end

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

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

# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
//}


@see IO.popen,IO.pipe,Kernel.#at_exit,Kernel.#exit...

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

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

...接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。...

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

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

...接実行されます。


@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (148.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい...
...よる割り込みは Kernel.#system によって呼び出された外部プログラムを
タイムアウトさせる事はできないので、IO.popen、Kernel.#openを使用するなどの工夫が必要です。

例 外部コマンドのタイムアウト
require 'timeout'

# テスト用...
...
pid
= nil
com = nil
Timeout.timeout(t) {
# system だととまらない
# system("./loop.sh")
com = IO.popen("./loop.sh")
pid
= com.pid
while line = com.gets
print line
end
}
rescue Timeout::Error => err
puts "timeout: shell executio...

絞り込み条件を変える

<< 1 2 > >>