種類
- モジュール関数 (33)
- 文書 (11)
- インスタンスメソッド (3)
クラス
- Thread (3)
キーワード
-
ignore
_ deadlock= (3) - readline (11)
- セキュリティモデル (11)
検索結果
先頭5件
-
Signal
. # trap(signal) { . . . } -> String | Proc | nil (21274.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。
trap は前......ないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場合など)
も nil を返します。
@param signal シグナル名を表す文字列か Symbol、またはシグナ......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.... -
Signal
. # trap(signal , command) -> String | Proc | nil (21274.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。
trap は前......ないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場合など)
も nil を返します。
@param signal シグナル名を表す文字列か Symbol、またはシグナ......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.... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (9213.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
...追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。
本メソッドはスレッドに対応しています。
入力待ち状態のときはスレッドコンテキストの切替......:
require "readline"
input = Readline.readline
(プロンプトなどは表示せずに、入力待ちの状態になります。
ここでは「abc」を入力後、エンターキーを押したと想定します。)
abc
p input # => "abc"
input = Readline.readline("> ")
(">"......を表示し、入力待ちの状態になります。
ここでは「ls」を入力後、エンターキーを押したと想定します。)
> ls
p input # => "ls"
input = Readline.readline("> ", true)
(">"を表示し、入力待ちの状態になります。
ここでは「cd」... -
Thread
# ignore _ deadlock=(bool) (6128.0) -
デッドロック検知を無視する機能をon/offします。デフォルト値はfalseです。
...ffします。デフォルト値はfalseです。
trueを渡すとデッドロックを検知しなくなります。
//emlist[][ruby]{
Thread.ignore_deadlock = true
queue = Thread::Queue.new
trap(:SIGUSR1){queue.push "Received signal"}
# ignore_deadlockがfalseだとエラーが発生する
put......s queue.pop
//}
@see Thread#ignore_deadlock... -
セキュリティモデル (3024.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-e:1: tried to downgrade safe level from 1 to 0 (Sec......* 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
===== 汚染......汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染されない。
=== 使用例
一旦高くし......* 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
* Kernel.#require
* Kernel.#trap
==== レベル 2
廃止され......* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
一旦高くした$S......て ensure で戻す
//emlist{
$SAFE = 0
th = Thread.new do
p $SAFE # => 0
$SAFE = 1
ensure
$SAFE = 0
end
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事もできる
//emlist{
$ ruby -e '$SAFE......* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
$SAFE はスレッド...