有没有更好的方法来读取/ proc中每个进程目录中的cmdline文件

时间:2017-05-07 20:46:12

标签: c linux filesystems

所以在我当前的项目中,我必须在linux系统上获取所有正在运行的进程,所以我所做的是使用dirent头文件来获取所有相关目录(以整数开头的那些)。

所以我的问题是,你有没有想过更好的方法来读取每个目录的cmdline文件,除了循环每个PID并读取文件并将其与我的比较字符串进行比较,因为这似乎是它这将增加内存消耗,并且不必要地减慢程序的速度。

感谢。

1 个答案:

答案 0 :(得分:1)

  

...除了循环每个PID并读取文件并将其与我的比较字符串进行比较......

这正是你应该做的。

/proc读取文件很快 - /proc节点不是文件;读取它们不涉及磁盘访问 - 只要正确释放任何缓冲区,就不应该增加进程的内存消耗。