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

Is there a better way to read cmdline file inside each process directory in /proc

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

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

谢谢。

…other than just looping over each PID and reading the file in and comparing it with my comparison string…

这正是你应该做的。

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