0

ruby を使用して unix/linux プロセスについて説明している本「Working with Unix Processes」を読んでいます。ルビーを扱うのはこれが初めてです。プロセスのリソース制限を取得する例を試しました。

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 に答える