モジュール
- Kernel (112)
- ObjectSpace (22)
- Process (66)
- Signal (22)
検索結果
先頭5件
-
Kernel
. # exit(status = true) -> () (18146.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
...false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必........'
exit
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
exit
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# end1 with #<SystemExit: exit>
# start2...
# end2...
#終了ステータス:0
//}
@see Kernel.#exit!,... -
Kernel
. # at _ exit { . . . } -> Proc (6164.0) -
与えられたブロックをインタプリタ終了時に実行します。
...与えられたブロックをインタプリタ終了時に実行します。
at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。......Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"
#=> main_end
# at_exit
# END
# at_exit2
# at_exit1
# at_exit0
//}
@see d:spec/control#END,Kernel.#exit!,Kernel.#fork... -
Kernel
. # exit!(status = false) -> () (6146.0) -
Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。
...0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロ......T.sync = true #表示前に終了しないようにする
puts 'start'
begin
puts 'start1...'
exit!
ensure
puts 'end1...' #実行されない
end
puts 'end' #実行されない
#=> start
# start1...
#終了ステータス:1
//}
@see Kernel.#exit,Kernel.#abort,Kernel.#at_exit,Kernel.#fork... -
Signal
. # trap(signal) { . . . } -> String | Proc | nil (33.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...ナル名を表す文字列か Symbol、またはシグナル番号を指定します。
さらに特別な値として 0 または "EXIT" が指定できます。
これは「プログラムの終了時」を表します。
@param command シグナルハンドラとし......"SIG_DFL" または "DEFAULT" を指定した時は、シグナルハンドラをデフォルトに戻します。
"EXIT"を指定した時は、シグナルを受け取ると終了処理を
行ったあとステータス 0 で終了します。......ブな Windows システム (mswin32,
mingw など) で動く ruby では INT ILL FPE SEGV
TERM BREAK ABRT EXIT しか定義されていません。
いくつかのシグナルに対して、Ruby インタプリタは例外 Interrupt や
SignalException を... -
Signal
. # trap(signal , command) -> String | Proc | nil (33.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
...ナル名を表す文字列か Symbol、またはシグナル番号を指定します。
さらに特別な値として 0 または "EXIT" が指定できます。
これは「プログラムの終了時」を表します。
@param command シグナルハンドラとし......"SIG_DFL" または "DEFAULT" を指定した時は、シグナルハンドラをデフォルトに戻します。
"EXIT"を指定した時は、シグナルを受け取ると終了処理を
行ったあとステータス 0 で終了します。......ブな Windows システム (mswin32,
mingw など) で動く ruby では INT ILL FPE SEGV
TERM BREAK ABRT EXIT しか定義されていません。
いくつかのシグナルに対して、Ruby インタプリタは例外 Interrupt や
SignalException を... -
Kernel
. # abort -> () (27.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラ......abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# e......nd2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!......nd2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
# Traceback (most recent call last):
# sample.rb:11:in `<main>': RuntimeError (RuntimeError)
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # abort(message) -> () (27.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラ......abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# e......nd2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!......nd2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
# Traceback (most recent call last):
# sample.rb:11:in `<main>': RuntimeError (RuntimeError)
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # system(command , options={}) -> bool | nil (27.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...# => Errno::ENOENT (No such file or directory - sad)
system('ruby -e "exit(false)"', exception: true) # => RuntimeError (Command failed with exit 1: ruby -e "exit(false)")
system('ruby -e "exit(true)"', exception: true) # => true
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,sys... -
Kernel
. # system(env , command , options={}) -> bool | nil (27.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...# => Errno::ENOENT (No such file or directory - sad)
system('ruby -e "exit(false)"', exception: true) # => RuntimeError (Command failed with exit 1: ruby -e "exit(false)")
system('ruby -e "exit(true)"', exception: true) # => true
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,sys... -
Kernel
. # fork -> Integer | nil (15.0) -
fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。
...puts "parent process. pid: #{Process.pid}, child pid: #{child_pid}"
# => parent process. pid: 79055, child pid: 79602
# 親プロセスでの処理
# ...
# 子プロセスの終了を待って終了。
Process.waitpid(child_pid)
//}
@see IO.popen,IO.pipe,Kernel.#at_exit,Kernel.#exit!, fork(2)...