種類
- インスタンスメソッド (88)
- モジュール関数 (44)
- クラス (33)
- 特異メソッド (22)
- 定数 (11)
クラス
- SignalException (22)
- Thread (88)
検索結果
先頭5件
-
Process
. # kill(signal , pid , *rest) -> Integer (26109.0) -
pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。
...けたものと見なされます。
@param rest プロセス ID を整数で指定します。
@raise ArgumentError 存在しないシグナルを指定した場合に発生します。
@raise Errno::EXXX シグナル送信に失敗した場合に発生します。
@see Kernel.#trap, kill(2)... -
Thread
. kill(thread) -> Thread (26109.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 (23109.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!... -
Errno
:: ERFKILL (14002.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。 -
Process
:: Status (8020.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
...て使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child......ます
while Process.waitpid(-1, Process::WNOHANG|Process::WUNTRACED)
case
when $?.signaled?
puts " child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump?
puts " child #{$?.pid} dumped core."
end
when $?.stopped?
puts......id2 = fork { loop { sleep } } # signal を待つための sleep
begin
Process.kill :STOP, pid2
sleep # SIGCHLD を待つための sleep
Process.kill :CONT, pid2
Process.kill :TERM, pid2
loop { sleep } # SIGCHLD を待つための sleep
re... -
Thread (8020.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
...は ensure 節が実行されます。
これはスレッドが正常に終了する時はもちろんですが、他のスレッドから Thread#kill
などによって終了させられた時も同様に実行されます。
メインスレッドの終了時の詳細に関しては spec/terminate......処理中)
Thread#kill 等で終了されるスレッドは一時的にこの状態になりま
す。この状態から停止状態(sleep)になることもあります。
この状態のスレッドはまだ「生きて」います。
: dead (終了状態)
Thread#kill 等で終了したス... -
Thread
# exit -> self (8009.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!... -
Thread
# terminate -> self (8009.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!... -
Process
:: WUNTRACED -> Integer (8008.0) -
Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。
...セス 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(S... -
Signal
. # signame(signo) -> String (8008.0) -
引数で指定されたシグナル番号をシグナル名に変換して返します。
...引数で指定されたシグナル番号をシグナル名に変換して返します。
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT
@see Signal.#list...