ライブラリ
- ビルトイン (192)
-
irb
/ cmd / subirb (12) -
irb
/ extend-command (12) - open3 (24)
- shell (6)
-
shell
/ process-controller (6) -
shell
/ system-command (6) - timeout (21)
クラス
-
IRB
:: ExtendCommand :: Kill (12) - Shell (6)
-
Shell
:: ProcessController (6) -
Shell
:: SystemCommand (6) - SignalException (24)
- Thread (96)
モジュール
-
IRB
:: ExtendCommandBundle (12) - Open3 (24)
- Process (24)
- Signal (36)
- Timeout (21)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Thread (12)
- WUNTRACED (12)
- backtrace (12)
- execute (12)
- exit (12)
-
handle
_ interrupt (12) -
install
_ extend _ commands (12) - irb (12)
-
kill
_ job (6) -
pipeline
_ start (24) -
ruby 1
. 8 . 4 feature (12) - signame (12)
- signm (12)
- signo (12)
- status (12)
- terminate (12)
- timeout (21)
- trap (24)
- value (12)
- スレッド (12)
- セキュリティモデル (2)
検索結果
先頭5件
-
Signal
. # signame(signo) -> String | nil (106.0) -
引数で指定されたシグナル番号をシグナル名に変換して返します。 対応するシグナル番号が存在しない場合は nil を返します。
...引数で指定されたシグナル番号をシグナル名に変換して返します。
対応するシグナル番号が存在しない場合は nil を返します。
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT
@see Signal.#list... -
Signal
. # trap(signal) { . . . } -> String | Proc | nil (106.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...rocess.kill :QUIT, $$ # 自身にSIGQUITを送信
rescue SignalException
puts "rescue #$!"
end
# => rescue SIGQUIT
例:
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, "EXIT") # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"
//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD"... -
Signal
. # trap(signal , command) -> String | Proc | nil (106.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...rocess.kill :QUIT, $$ # 自身にSIGQUITを送信
rescue SignalException
puts "rescue #$!"
end
# => rescue SIGQUIT
例:
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, "EXIT") # => "DEFAULT"
Signal.trap(:INT, nil) # => "EXIT"
//emlist[例][ruby]{
Signal.trap(0, proc { puts "Terminating: #{$$}" })
Signal.trap("CLD"... -
SignalException
# signm -> String (106.0) -
self.message のエイリアスです。
...self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//}... -
SignalException
# signo -> Integer (106.0) -
self のシグナル番号を返します。
...self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//}... -
Thread
# backtrace -> [String] | nil (106.0) -
スレッドの現在のバックトレースを返します。
...def m1
sleep 5
end
def m2
m1
end
end
th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] "(irb):10:in `block in irb_binding'"
# ]
th.kill
th.backtrace # => nil
//}... -
Thread
# status -> String | false | nil (106.0) -
生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。
...す。
例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill #=> #<Thread:0x401b3678 aborting>
a.status #=> nil
b.status #=> "sleep"
c.status... -
Thread
# value -> object (106.0) -
スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。
...値を返します。スレッド実行中に例外が
発生した場合には、その例外を再発生させます。
スレッドが Thread#kill によって終了した場合は、返り値は不定です。
以下は、生成したすべてのスレッドの終了を待ち結果を出力す... -
Thread
. handle _ interrupt(hash) { . . . } -> object (106.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます...