当前位置: 技术问答>linux和unix
如何获取正在运行的进程可以打开的最大文件描述符?
来源: 互联网 发布时间:2017-03-24
本文导语: 如题,如何能够获取一个正在运行进程的最大文件描述符个数啊? 说如何获取当前用户可以打开的文件描述符个数$ulimit -n,这个我知道。 但是每个进程是可以单独设置自己的最大文件描述符个数的,请问如何获取...
如题,如何能够获取一个正在运行进程的最大文件描述符个数啊?
说如何获取当前用户可以打开的文件描述符个数$ulimit -n,这个我知道。
但是每个进程是可以单独设置自己的最大文件描述符个数的,请问如何获取?
谢谢。
说如何获取当前用户可以打开的文件描述符个数$ulimit -n,这个我知道。
但是每个进程是可以单独设置自己的最大文件描述符个数的,请问如何获取?
谢谢。
|
/**
* @file rlimit.c
* @brief
*/
#include
#include
#include
#include
int main(int argc, char *argv[])
{
struct rlimit rlim;
getrlimit(RLIMIT_NOFILE, &rlim);
printf("rmim_cur=%d rlim_max=%dn", (int)rlim.rlim_cur, (int)rlim.rlim_max);
return 0;
}
|
你这个是什么需求呀?
可以深入内核获取,写个KLM内核模块(insmod加载)检查指定进程的struct tast_struct中的某个字段,然后用netlink将得到的结果传给上层的应用。 因为你这个是获取别的进程的此时的软限制,好像没啥命令能查看别人的吧。查看自己进程的软限制到是可以用getrlimit..... 只能深入内核了。
看楼下知不知道有什么命令可以获得某个进程的软限制。
可以深入内核获取,写个KLM内核模块(insmod加载)检查指定进程的struct tast_struct中的某个字段,然后用netlink将得到的结果传给上层的应用。 因为你这个是获取别的进程的此时的软限制,好像没啥命令能查看别人的吧。查看自己进程的软限制到是可以用getrlimit..... 只能深入内核了。
看楼下知不知道有什么命令可以获得某个进程的软限制。