似乎是一个简单的问题,但我无法弄清楚。我是铁杆上的新手。
1 pid = Process.fork
2
3 if pid.nil? then
4 puts "Child process"
5 else
6 puts " Continuing parent proceesss"
7 end
8
9 puts "This line should be printed only once, by parent"
我的理解是第9行应该只由父母打印一次。但是,它被打印两次。由父母和孩子组成!!
如何在父级中执行第9行 ONLY ?即我希望孩子在第4行之后退出。
感谢您的帮助。
答案 0 :(得分:4)
exit
。
if pid.nil? then
puts "Child process"
exit
else
...
分叉流程设计以允许两个流程继续,对吧?你将你的过程分成两份,然后他们都从他们分叉的地方继续。如果您希望孩子退出,您应该告诉它退出。