るりまサーチ

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

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

Kernel.#sleep -> Integer (18133.0)

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

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

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

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

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

puts 'it_end'
end

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

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

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

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

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

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

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

puts 'it_end'
end

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

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

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

...17519: pi = 3.141443

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

require 'timeout'

class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep
(30)
}
rescue MYError => err
puts "MYError"
puts err
end

=== 注意

timeout...
...による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby
のスレッドが割り込めない処理に対して timeout は無力です。
そのようなものは実用レベルでは少ないのですが、
Socket などは DNSの名前解...
...決に時間がかかった場合割り込めません
(resolv-replace を使用する必要があります)。
その処理を Ruby で実装しなおすか C 側で Ruby
のスレッドを意識してあげる必要があります。

以下の例では、gethostbyname(およそ0.6秒処理に時...

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

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

...17519: pi = 3.141443

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

require 'timeout'

class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep
(30)
}
rescue MYError => err
puts "MYError"
puts err
end

=== 注意

timeout...
...による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby
のスレッドが割り込めない処理に対して timeout は無力です。
そのようなものは実用レベルでは少ないのですが、
Socket などは DNSの名前解...
...決に時間がかかった場合割り込めません
(resolv-replace を使用する必要があります)。
その処理を Ruby で実装しなおすか C 側で Ruby
のスレッドを意識してあげる必要があります。

以下の例では、gethostbyname(およそ0.6秒処理に時...

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

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

...rno::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,I...

絞り込み条件を変える

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

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

...rno::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,I...

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

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

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

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

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

$ ruby a.rb
実行前
...

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

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

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

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

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

$ ruby a.rb
実行前
...

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

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

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

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

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

//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602

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

puts "parent process. pid: #{Process...
<< 1 2 > >>