質問: Linux/UNIXにおいて、既に実行されているプロセスについて、ulimitによるリソース制限状態を確認する方法はありませんか? (ulimitによるリソース制限が、OS側でどのように管理されているかがわかっていないので、ちょっとピント外れの質問かもしれません・・・)
回答: リソースの制限状態はカーネルが内部で管理している情報なので、 カーネル側に専用のinterfaceが用意されていないと、参照することが出来ません。 で、そのために /proc//limits というinterfaceが用意されているのですが、 これは 2.6.24 で追加された機能でした。 上記 changelog に ``` Currently, there exists no method for a process to query the resource limits of another process. ``` とありますので、2.6.23以前のカーネルでは他プロセスのリソース制限状態を確認する術は無さそうです。 どうしても 2.6.23以前のカーネルで、情報が取りたいという事であれば * 2.6.24のコードを backport して、カーネルを作りなおす (該当するソースは になります) * 専用のカーネルモジュールを作成する のどちらかの方法を取るしか無さそうです。