我的理解是,当您用红宝石剥壳时,整个红宝石过程首先会分叉。但是,我找不到在操作系统级别进行观察的方法。我所看到的只是独立的OS进程。我的方法如下。在睡眠情况下,我期望看到某种红宝石子进程,但我只看到操作系统级别的睡眠进程正在运行。作为比较,我还做了一个显式的fork,以查看ps输出中显示了什么。这是我的预期。
我的方法是否存在问题(也许ps在某些情况下未显示子进程?)或我对ruby fork的理解是否错误?
正在运行的irb
我尝试:
`sleep 10`
这:
Process.wait2(Process.fork {sleep 10})
watch "ps -A -O rss |grep 'pts/0'| grep -v 'pts/1'"
3795 10704 S pts/0 00:00:00 irb
3795 10704 S pts/0 00:00:00 irb
4397 680 S pts/0 00:00:00 sleep 5
3795 10704 S pts/0 00:00:00 irb
4449 5680 S pts/0 00:00:00 irb