るりまサーチ

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

別のキーワード

  1. io popen
  2. _builtin popen
  3. open3 popen3
  4. open3 popen2
  5. open3 popen2e

ライブラリ

モジュール

検索結果

Kernel.#exec(env, program, *args, options={}) -> () (18130.0)

引数で指定されたコマンドを実行します。

...動に成功した場合、このメソッドからは戻りません。

この形式では、常に shell を経由せずに実行されます。

exec
(3) でコマンドを実行すると、
元々のプログラムの環境をある程度(ファイルデスクリプタなど)引き継ぎます...
...
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。



//emlist[例][ruby]{
# a.rb
exec
['sleep', 'mysleep'], '600'
//}

上記スクリプトを実行すると以下のようになります。

$ ruby a.rb
## sleep してるので...
...替えて以下を実行
$ ps aux|grep sleep
xxxx 32754 0.0 0.0 2580 468 pts/3 S+ 22:01 0:00 mysleep 600
xxxx 32761 0.0 0.0 2824 792 pts/6 S+ 22:01 0:00 grep sleep

@see Kernel.#system,Kernel.#`,Kernel.#spawn,Kernel.#fork,IO.popen,IO.pipe,Kernel.#open,exec(3)...

Kernel.#exec(program, *args, options={}) -> () (18130.0)

引数で指定されたコマンドを実行します。

...動に成功した場合、このメソッドからは戻りません。

この形式では、常に shell を経由せずに実行されます。

exec
(3) でコマンドを実行すると、
元々のプログラムの環境をある程度(ファイルデスクリプタなど)引き継ぎます...
...
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。



//emlist[例][ruby]{
# a.rb
exec
['sleep', 'mysleep'], '600'
//}

上記スクリプトを実行すると以下のようになります。

$ ruby a.rb
## sleep してるので...
...替えて以下を実行
$ ps aux|grep sleep
xxxx 32754 0.0 0.0 2580 468 pts/3 S+ 22:01 0:00 mysleep 600
xxxx 32761 0.0 0.0 2824 792 pts/6 S+ 22:01 0:00 grep sleep

@see Kernel.#system,Kernel.#`,Kernel.#spawn,Kernel.#fork,IO.popen,IO.pipe,Kernel.#open,exec(3)...

Kernel.#exec(command, options={}) -> () (18115.0)

引数で指定されたコマンドを実行します。

...rno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。

//emlist[例][ruby]{
# a.rb
puts '実行前'
exec
'echo "実行中"'
puts '実行後'
//}

上記のスクリプトを実行すると以下のようになります。

$ ruby a.rb
実行前...

Kernel.#exec(env, command, options={}) -> () (18115.0)

引数で指定されたコマンドを実行します。

...rno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。

//emlist[例][ruby]{
# a.rb
puts '実行前'
exec
'echo "実行中"'
puts '実行後'
//}

上記のスクリプトを実行すると以下のようになります。

$ ruby a.rb
実行前...

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

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

...ロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文...
...す。
これを用いて、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 では
デフォルトでは非...
..._exec が設定されていて、自動的に
閉じられることに注意してください。

//emlist[][ruby]{
pid = spawn(command, :close_others=>true) # close 3,4,5,... (default)
pid = spawn(command, :close_others=>false) # don't close 3,4,5,...
//}

これを利用して spawn を IO.popen...
..._exec が設定されていて、自動的に
閉じられることに注意してください。

//emlist[][ruby]{
pid = spawn(command, :close_others=>true) # close 3,4,5,...
pid = spawn(command, :close_others=>false) # don't close 3,4,5,... (default)
//}

これを利用して spawn を IO.popen...

絞り込み条件を変える

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

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

...ロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文...
...す。
これを用いて、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 では
デフォルトでは非...
..._exec が設定されていて、自動的に
閉じられることに注意してください。

//emlist[][ruby]{
pid = spawn(command, :close_others=>true) # close 3,4,5,... (default)
pid = spawn(command, :close_others=>false) # don't close 3,4,5,...
//}

これを利用して spawn を IO.popen...
..._exec が設定されていて、自動的に
閉じられることに注意してください。

//emlist[][ruby]{
pid = spawn(command, :close_others=>true) # close 3,4,5,...
pid = spawn(command, :close_others=>false) # don't close 3,4,5,... (default)
//}

これを利用して spawn を IO.popen...

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

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

...表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。

@raise Errno::EXXX コマンドが実行できなかった場合に発生します。


@see Kernel.#system,Kernel.#exec...

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

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

...表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。

@raise Errno::EXXX コマンドが実行できなかった場合に発生します。


@see Kernel.#system,Kernel.#exec...