るりまサーチ

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

別のキーワード

  1. _builtin trap
  2. signal trap
  3. kernel trap
  4. trap signal

ライブラリ

モジュール

キーワード

検索結果

Signal.#trap(signal) { ... } -> String | Proc | nil (18169.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

...わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap
は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそ...
...Signal.trap(:INT, "p true") # => "DEFAULT"
Signal.trap(:INT) { p false } # => "p true"
Signal.trap(:INT, proc{ p nil }) # => #<Proc:0x8e45ae0@-:2>
Signal.trap(:INT, "SIG_IGN") # => #<Proc:0x8e45914@-:3>
Signal.trap(:INT, "DEFAULT") # => "IGNORE"
Signal.trap(:INT, "E...
...XIT") # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"

//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD") { puts "Child died" }
fork && Process.wait

# => Terminating: 13939
# => Child died
# => Terminating: 13907
//}

@see spec/termina...

Signal.#trap(signal, command) -> String | Proc | nil (18169.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

...わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap
は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそ...
...Signal.trap(:INT, "p true") # => "DEFAULT"
Signal.trap(:INT) { p false } # => "p true"
Signal.trap(:INT, proc{ p nil }) # => #<Proc:0x8e45ae0@-:2>
Signal.trap(:INT, "SIG_IGN") # => #<Proc:0x8e45914@-:3>
Signal.trap(:INT, "DEFAULT") # => "IGNORE"
Signal.trap(:INT, "E...
...XIT") # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"

//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD") { puts "Child died" }
fork && Process.wait

# => Terminating: 13939
# => Child died
# => Terminating: 13907
//}

@see spec/termina...

Kernel.#trap(signal) { ... } -> String | Proc | nil (18143.0)

signal で指定された割り込みにたいするハンドラとして command を登録します。Signal.#trapと同じです。

...signal で指定された割り込みにたいするハンドラとして
command を登録します。Signal.#trapと同じです。

Signal.#trapの使用を推奨します。

@param signal Signal.#trap 参照
@param command Signal.#trap 参照


@see Signal.#trap,Signal...

Kernel.#trap(signal, command) -> String | Proc | nil (18143.0)

signal で指定された割り込みにたいするハンドラとして command を登録します。Signal.#trapと同じです。

...signal で指定された割り込みにたいするハンドラとして
command を登録します。Signal.#trapと同じです。

Signal.#trapの使用を推奨します。

@param signal Signal.#trap 参照
@param command Signal.#trap 参照


@see Signal.#trap,Signal...

Readline.#readline(prompt = "", add_hist = false) -> String | nil (13.0)

prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。

...

require 'readline'

stty_save = `stty -g`.chomp
trap
("INT") { system "stty", stty_save; exit }

while buf = Readline.readline
p buf
end

また、単に ^C を無視する方法もあります。

require 'readline'

trap
("INT", "SIG_IGN")

while buf = Readline.readline...

絞り込み条件を変える

Process.#kill(signal, pid, *rest) -> Integer (7.0)

pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。

...けたものと見なされます。

@param rest プロセス ID を整数で指定します。

@raise ArgumentError 存在しないシグナルを指定した場合に発生します。

@raise Errno::EXXX シグナル送信に失敗した場合に発生します。


@see Kernel.#trap, kill(2)...

Signal.#signame(signo) -> String (7.0)

引数で指定されたシグナル番号をシグナル名に変換して返します。

...引数で指定されたシグナル番号をシグナル名に変換して返します。

Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT

@see Signal.#list...

Signal.#signame(signo) -> String | nil (7.0)

引数で指定されたシグナル番号をシグナル名に変換して返します。 対応するシグナル番号が存在しない場合は nil を返します。

...引数で指定されたシグナル番号をシグナル名に変換して返します。
対応するシグナル番号が存在しない場合は nil を返します。

Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT

@see Signal.#list...

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

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

...ut'

# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
fp.print <<SHELL_EOT
#!/bin/bash

S="scale=10"
M=32767

trap
'echo "$S; $m1/($m1+$m2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0

while true
do
x="($RANDOM/$M)"
y="($RANDOM/...

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

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

...ut'

# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
fp.print <<SHELL_EOT
#!/bin/bash

S="scale=10"
M=32767

trap
'echo "$S; $m1/($m1+$m2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0

while true
do
x="($RANDOM/$M)"
y="($RANDOM/...

絞り込み条件を変える