0

我正在阅读一本书“使用 Unix 进程”,它使用 ruby​​ 来解释 unix/linux 进程。这是我第一次使用 ruby​​。我尝试了一个示例来获取进程的资源限制。

irb(main):001:0> Process.getrlimit(:CORE)
Errno::EINVAL: Invalid argument - getrlimit
    from (irb):1:in `getrlimit'
    from (irb):1
    from :0


irb(main):004:0> Process.getrlimit()
ArgumentError: wrong number of arguments (0 for 1)
    from (irb):4:in `getrlimit'
    from (irb):4
    from :0

但我似乎无法识别“getrlimit”(尽管它说如果我不提供任何参数,我的参数数量错误)。在 google 或 SO 上没有找到任何关于此的内容。尝试使用 :NOFILE、:CORE 等。有什么我需要包括/要求使 getrlimit 工作。环境:

Ubuntu 11.04 32 bit. Kernel 3.0.0-14
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
irb 0.9.5(05/04/13)

问候

4

1 回答 1

0

对不起..没关系。似乎 IRB 正在运行以前版本的 ruby​​ (1.8.7),它不知何故不支持 getrlimit(尽管根据 google 上的所有帐户,它应该可以工作)。我已将 ruby​​ 升级到 1.9.1,但没有更新从 /usr/bin/irb 到 /usr/bin/irb1.9.1 的链接。所以 IRB 仍在运行 ruby​​ 1.8.7。将irb的软链接更新到v1.9.1后,getrlimit现在可以工作了。

于 2012-08-01T05:04:41.927 回答