るりまサーチ

最速Rubyリファレンスマニュアル検索!
329件ヒット [1-100件を表示] (0.034秒)
トップページ > クエリ:end[x] > クエリ:fork[x]

別のキーワード

  1. _builtin end
  2. ripper end_seen?
  3. _builtin exclude_end?
  4. _builtin end_with?
  5. range end

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

Kernel.#fork -> Integer | nil (18154.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

...
fork
(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価しま...
...す。

fork
前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Process.pid},...
...1329

# 子プロセスでの処理
sleep(1)
end

//}

//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602

# 子プロセスでの処理
sleep(1)
end


puts "parent process. pid: #{Process.pid}, ch...

Kernel.#fork { ... } -> Integer | nil (18154.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

...
fork
(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価しま...
...す。

fork
前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Process.pid},...
...1329

# 子プロセスでの処理
sleep(1)
end

//}

//emlist[ブロックを指定した場合][ruby]{
child_pid = fork do
puts "child process. pid: #{Process.pid}"
# => child process. pid: 79602

# 子プロセスでの処理
sleep(1)
end


puts "parent process. pid: #{Process.pid}, ch...

Thread.fork(*arg) {|*arg| ... } -> Thread (18113.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

...ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。

for i in 1..5
Thread.start { p i }
end


上の例は以下のように書き直すべきです。

for i in 1..5
Thread.start(i) {|t| p t }
end
...

Thread.start(*arg) {|*arg| ... } -> Thread (3013.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

...ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。

for i in 1..5
Thread.start { p i }
end


上の例は以下のように書き直すべきです。

for i in 1..5
Thread.start(i) {|t| p t }
end
...

NEWS for Ruby 3.1.0 (78.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end

//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3...
...に持つ配列(シングルトンクラスを含まない)を返します。

//emlist[Class#subclasses][ruby]{
class A; end
class B < A; end
class C < B; end
class D < A; end
A.subclasses #=> [D, B]
B.subclasses #=> [C]
C.subclasses #=> []
//}

* Enumerable
* 新規メソッド...
...* Process
* 新規メソッド
* Process._forkが追加されました。これは fork(2) のコアメソッドです。このメソッドを直接呼び出さないでください。既存のforkメソッド(Kernel.#fork、Process.fork、IO.popen("-"))によって呼び出されます...

絞り込み条件を変える

Object#respond_to?(name, include_all = false) -> bool (78.0)

オブジェクトがメソッド name を持つとき真を返します。

...ッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。

Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。

※ NotImplementedError が発...
...は false(含めない) を指定した事になります。

//emlist[][ruby]{
class F
def hello
"Bonjour"
end

end


class D
private
def hello
"Guten Tag"
end

end

list = [F.new,D.new]

list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour

list.each{|it| it.instan...
...late_method
finish
end


def start
puts "start"
end


def template_method
raise NotImplementedError.new
end


def finish
puts "finish"
end

end


class ImplTemplateMethod
include Template
def template_method
"implement template_method"
end

end


class NotImplTemplat...

Kernel.#at_exit { ... } -> Proc (54.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...

Process::Status (54.0)

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

...使用した例

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 $?.stop...
...ignal #{$?.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]}"
# 複数の子プロセスの終...
...re."
end

when $?.stopped?
puts " child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
puts " child #{$?.pid} exited normally. status=#{$?.exitstatus}"
else
p "unknown status %#x" % $?.to_i
end

end

}

p pid1 = fork {...

Kernel.#exit!(status = false) -> () (30.0)

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。

...URE の値なので、正確には環境依存です。

exit! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロセスを終了させる時などに用
いられます。

@param status 終了ステータスを整数か true または false...
...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...
<< 1 2 3 ... > >>