为什么我在淘汰时看不到新的红宝石工艺?

时间:2019-02-27 20:40:26

标签: ruby process fork

我的理解是,当您用红宝石剥壳时,整个红宝石过程首先会分叉。但是,我找不到在操作系统级别进行观察的方法。我所看到的只是独立的OS进程。我的方法如下。在睡眠情况下,我期望看到某种红宝石子进程,但我只看到操作系统级别的睡眠进程正在运行。作为比较,我还做了一个显式的fork,以查看ps输出中显示了什么。这是我的预期。

我的方法是否存在问题(也许ps在某些情况下未显示子进程?)或我对ruby fork的理解是否错误?

第1航站楼(pts / 0)

正在运行的irb

我尝试:

`sleep 10`

这:

Process.wait2(Process.fork {sleep 10})

第2航站楼(pts / 2)

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

0 个答案:

没有答案