所以在我当前的项目中,我必须在linux系统上获取所有正在运行的进程,所以我所做的是使用dirent头文件来获取所有相关目录(以整数开头的那些)。
所以我的问题是,你有没有想过更好的方法来读取每个目录的cmdline文件,除了循环每个PID并读取文件并将其与我的比较字符串进行比较,因为这似乎是它这将增加内存消耗,并且不必要地减慢程序的速度。
感谢。
答案 0 :(得分:1)
...除了循环每个PID并读取文件并将其与我的比较字符串进行比较......
这正是你应该做的。
从/proc
读取文件很快 - /proc
节点不是文件;读取它们不涉及磁盘访问 - 只要正确释放任何缓冲区,就不应该增加进程的内存消耗。