るりまサーチ

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.010秒)
トップページ > クエリ:signal[x] > 種類:クラス[x]

別のキーワード

  1. signal trap
  2. _builtin signal
  3. conditionvariable signal
  4. signal list
  5. signal signame

ライブラリ

キーワード

検索結果

SignalException (6001.0)

捕捉していないシグナルを受け取ったときに発生します。

...トの状態では、
以下のシグナルが SignalException を発生させます。

* SIGALRM
* SIGHUP
* SIGINT (※ただし以下参照)
* SIGQUIT
* SIGUSR1
* SIGUSR2
* SIGTERM

なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである
Interru...

Process::Status (67.0)

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

...り値として使われます。

=== 使用例

wait を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse...
...child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
p "child #{$?.pid} exited normally. status=#{$?.exitstatus}"
else
p "unknown status %#x" % $?.to_i
end

SIGCHLD を trap する例

trap(:SIGCHLD) {|sig|

puts "interrupted by signal #{sig} at #{caller[1]}"...
...CED)
case
when $?.signaled?
puts " child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump?
puts " child #{$?.pid} dumped core."
end
when $?.stopped?
puts " child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?...

Thread::ConditionVariable (25.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...など)が満たされるまで wait メソッドで
スレッドを止めます。他のスレッド b において条件が満たされたなら signal
メソッドでスレッド a に対して条件が成立したことを通知します。これが典型的な
使用例です。

mutex = Mu...
...すための操作
cv.signal
}
}

以下は 14445 で紹介されている例です。@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require 'thread'

class
TinyQueue
def initialize(max=...
...@full.wait(@mutex) if count == @max
@q.push v
@empty.signal if count == 1
}
end

def deq
@mutex.synchronize{
@empty.wait(@mutex) if count == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end

alias send enq...

Interrupt (7.0)

SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。

...ます。
SIGINT 以外のシグナルを受信したときに発生する例外については
Signal
Exception を参照してください。

使用例

=begin
#SIGINTを捕捉したい場合
Signal
.trap('INT'){
print "\nINTを捕捉した。\n"
exit 1
}
=end

begin
begin...

Monitor (7.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

...e { buf.empty? }
print buf.shift
end
end
end

# producer
while line = ARGF.gets
mon.synchronize do
buf.push(line)
empty_cond.signal
end
end
//}

2回ロックしてもデッドロックにならない例です。

//emlist[デッドロックにならない例][ruby]{
require...

絞り込み条件を変える

WEBrick::HTTPProxyServer (7.0)

プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。

...います。

* https://magazine.rubyist.net/articles/0002/0002-WEBrickProxy.html

以下は完全に動作するプロクシサーバの例です。

require 'webrick'
require 'webrick/httpproxy'

s = WEBrick::HTTPProxyServer.new(Port: 8080)
Signal
.trap('INT') do
s.shutdown
end
s.start...

WEBrick::HTTPServer (7.0)

HTTP サーバの機能を提供するクラスです。

...rver.new({:DocumentRoot => '/home/username/public_html/',
:BindAddress => '127.0.0.1',
:Port => 10080})
srv.mount('/hoge.pl', WEBrick::HTTPServlet::CGIHandler, 'really_executed_script.rb')
Signal
.trap(:INT){ srv.shutdown }
srv.start...