165件ヒット
[1-100件を表示]
(0.147秒)
別のキーワード
検索結果
先頭5件
-
Kernel
. # sleep -> Integer (24239.0) -
sec 秒だけプログラムの実行を停止します。
...sec 秒だけプログラムの実行を停止します。
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 (24239.0) -
sec 秒だけプログラムの実行を停止します。
...sec 秒だけプログラムの実行を停止します。
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 (9191.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...を 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 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf......。
また 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){... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (9191.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...を 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){... -
Kernel
. # exec(env , program , *args , options={}) -> () (6167.0) -
引数で指定されたコマンドを実行します。
...セスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
この形式では、常に shell を経由せずに実行されます。
exec(3) でコマンドを実行すると、
元々のプログ......を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program の引数に渡されます。
先頭......列を指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御... -
Kernel
. # exec(program , *args , options={}) -> () (6167.0) -
引数で指定されたコマンドを実行します。
...セスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
この形式では、常に shell を経由せずに実行されます。
exec(3) でコマンドを実行すると、
元々のプログ......を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program の引数に渡されます。
先頭......列を指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御... -
Kernel
. # exec(command , options={}) -> () (6147.0) -
引数で指定されたコマンドを実行します。
...マンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されま......します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
//emlist[例][ruby]{
# a.rb
puts '実行前'
exec 'echo "実行中"'
puts......'実行後'
//}
上記のスクリプトを実行すると以下のようになります。
$ ruby a.rb
実行前
実行中
# '実行後' は表示されない... -
Kernel
. # exec(env , command , options={}) -> () (6147.0) -
引数で指定されたコマンドを実行します。
...マンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されま......します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
//emlist[例][ruby]{
# a.rb
puts '実行前'
exec 'echo "実行中"'
puts......'実行後'
//}
上記のスクリプトを実行すると以下のようになります。
$ ruby a.rb
実行前
実行中
# '実行後' は表示されない... -
Kernel
. # fork -> Integer | nil (3137.0) -
fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。
...前に STDOUT と STDERR を IO#flush します。
@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。
//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Process.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
//......}
//emlist[ブロックを指定した場合][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,...