種類
- インスタンスメソッド (66)
- モジュール関数 (33)
- クラス (22)
- 特異メソッド (22)
- 定数 (11)
クラス
- SignalException (22)
- Thread (66)
検索結果
先頭5件
-
Process
. # kill(signal , pid , *rest) -> Integer (29209.0) -
pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。
...
pid で指定されたプロセスにシグナルを送ります。signal
はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。
全てのシグナル送信に成功した場合、指定した pid の総数を返します。
@param signal シグナルをシグ......ル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。
@param pid シグナルを送りたいプロセスのプロセス ID を整数で指定します。ただし、0 以下の場合は以下のような意......けたものと見なされます。
@param rest プロセス ID を整数で指定します。
@raise ArgumentError 存在しないシグナルを指定した場合に発生します。
@raise Errno::EXXX シグナル送信に失敗した場合に発生します。
@see Kernel.#trap, kill(2)... -
Thread
. kill(thread) -> Thread (26115.0) -
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
...指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
@param thread 終了したい Thread オブジェクトを指定します。
th = Thread.new do
end
p Thread.kill(th) #=> #<Thread:0x40221bc8 dead>... -
Thread
# kill -> self (23115.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...it(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
ensure
p "this will be displayed"
end
end
sleep 0.1
th1.kill
#=> "this will be displayed"
@see Kernel.#exit, Kernel.#exit!... -
Signal
. # trap(signal) { . . . } -> String | Proc | nil (14132.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...合にはブロックをハンドラとして登録します。
trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も......ます。
@param signal シグナル名を表す文字列か Symbol、またはシグナル番号を指定します。
さらに特別な値として 0 または "EXIT" が指定できます。
これは「プログラムの終了時」を表します。
@param command......シグナルハンドラとして Ruby プログラムを表す文字列か Proc オブジェクト、また次に挙げる文字列を
指定します。nil、空文字列""、"SIG_IGN" または"IGNORE" を指定した時は、
可能ならばそのシグナルを無... -
Signal
. # trap(signal , command) -> String | Proc | nil (14132.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...合にはブロックをハンドラとして登録します。
trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も......ます。
@param signal シグナル名を表す文字列か Symbol、またはシグナル番号を指定します。
さらに特別な値として 0 または "EXIT" が指定できます。
これは「プログラムの終了時」を表します。
@param command......シグナルハンドラとして Ruby プログラムを表す文字列か Proc オブジェクト、また次に挙げる文字列を
指定します。nil、空文字列""、"SIG_IGN" または"IGNORE" を指定した時は、
可能ならばそのシグナルを無... -
Thread
. handle _ interrupt(hash) { . . . } -> object (14108.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミ......に含まれます。
また、マスクされた非同期割り込みは再度有効にされるまで延期されます。本
メソッドは sigprocmask(3) に似ています。
@return ブロックの評価結果を返します。
@raise ArgumentError ブロックを指定しなかった場......le_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate) {
# ...
}
ensure
# 安全にリソースの解放が可能
end
}
end
Thread.pass
# ..... -
Process
:: Status (11068.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
...クラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのス......ければ常にfalse
p "child #{$?.pid} dumped core."
end
when $?.stopped?
# 実際には Process.wait を使用しているので、ここに来ることはない
p "child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
p "child #{$?.pid} exited normally. st......atus=#{$?.exitstatus}"
else
p "unknown status %#x" % $?.to_i
end
SIGCHLD を trap する例
trap(:SIGCHLD) {|sig|
puts "interrupted by signal #{sig} at #{caller[1]}"
# 複数の子プロセスの終了に対して1つの SIGCHLD しか届かない
# 場合があるのでル... -
Process
:: WUNTRACED -> Integer (11020.0) -
Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。
...
Process.#waitpid の第二引数に指定するフラグです。
このフラグが指定された場合、waitpid は停止しているだけで
終了していない子プロセスのプロセス ID も返すようになります。
trace されている子プロセスの ID は返しません......。
include Process
pid = fork{ Process.kill('SIGSTOP', Process.pid) }
p pid #=> 4336
p waitpid2(pid, WUNTRACED) #=> [4336, #<Process::Status: pid=4336,stopped(SIGSTOP=19)>]
@see waitpid(2)... -
SignalException
# signo -> Integer (11020.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
//}... -
SignalException
# signm -> String (11008.0) -
self.message のエイリアスです。
...self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//}...