如果fork块,exit会在这个ruby中做什么
一些代码如下:
def start if fork do something exit 0 end end
fork复制子进程,对不对? 但我的问题是哪个进程确实exit 0
?父进程或子进程?
fork
,如果没有块,则有两个不同的返回值。 对于父级,它返回子级的进程ID(PID)。 对于孩子,它返回nil
,这是假的。
这样做是有利的:
if fork ...this is the parent... else ...this is the child... end
所以你的代码在上面分叉,父母做了一些事情,然后父母退出,孩子继续存在。