るりまサーチ

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

別のキーワード

  1. kernel system
  2. kernel exec
  3. kernel spawn
  4. kernel open
  5. kernel caller

ライブラリ

モジュール

キーワード

検索結果

Kernel.#sleep -> Integer (33227.0)

sec 秒だけプログラムの実行を停止します。

...の Thread#run
などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で
sleep
の実行が中断されます。

@param sec 停止する秒数を非負の数値で指定します。浮動小数点数も指定できます。
省略さ...
...れた場合、永久にスリープします。

@return 実際に停止していた秒数 (整数に丸められた値) です。

//emlist[例][ruby]{
it = Thread.new do
sleep

p
uts 'it_end'
end

re = sleep 2.11
p
uts re
it.run
re2 = sleep 0.76
p
uts re2
#=> 2
# it_end
# 1
//}...

Kernel.#sleep(sec) -> Integer (33227.0)

sec 秒だけプログラムの実行を停止します。

...の Thread#run
などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で
sleep
の実行が中断されます。

@param sec 停止する秒数を非負の数値で指定します。浮動小数点数も指定できます。
省略さ...
...れた場合、永久にスリープします。

@return 実際に停止していた秒数 (整数に丸められた値) です。

//emlist[例][ruby]{
it = Thread.new do
sleep

p
uts 'it_end'
end

re = sleep 2.11
p
uts re
it.run
re2 = sleep 0.76
p
uts re2
#=> 2
# it_end
# 1
//}...

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

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

...継ぎます。
Hash を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。

=== 引数の解釈

この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program の引数に渡さ...
...定しなくても環境変数 PATH から探します。

@param program 文字列か2要素の配列を指定します。
@param args 渡される引数です。0 個以上の文字列を指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメー...
...exec ['sleep', 'mysleep'], '600'
//}

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

$ ruby a.rb
## sleep してるので制御が戻ってこない。別の仮想端末に切替えて以下を実行
$ ps aux|grep sleep
xxxx 32754 0.0 0.0 2580 468 pts/3...

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

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

...継ぎます。
Hash を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。

=== 引数の解釈

この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program の引数に渡さ...
...定しなくても環境変数 PATH から探します。

@param program 文字列か2要素の配列を指定します。
@param args 渡される引数です。0 個以上の文字列を指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメー...
...exec ['sleep', 'mysleep'], '600'
//}

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

$ ruby a.rb
## sleep してるので制御が戻ってこない。別の仮想端末に切替えて以下を実行
$ ps aux|grep sleep
xxxx 32754 0.0 0.0 2580 468 pts/3...

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

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

...されます。
そうでなければインタプリタから直接実行されます。

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

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

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

$ ruby a.rb
実行前
実行中
# '実行後' は表示さ...

絞り込み条件を変える

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

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

...されます。
そうでなければインタプリタから直接実行されます。

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

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

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

$ ruby a.rb
実行前
実行中
# '実行後' は表示さ...

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

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

...ます。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タ...
...イムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? mi...
...alc_pi(min)
}
rescue Timeout::Error
p
uts "timeout"
end

p
rintf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443

例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby

require 'timeout'

class MYError < Exceptio...
...@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合は
"execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi...
...(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end

t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
p
uts "timeout"
end

p
rintf "%d: pi = %f\n", min[0] + min[1], min[0]*4....

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (131.0)

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

...ます。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タ...
...@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合は
"execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi...
...(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end

t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
p
uts "timeout"
end

p
rintf "%d: pi = %f\n", min[0] + min[1], min[0]*4....