我可以通过系统调用获取存储在/proc
中的信息,而不是从文件中处理文本吗?
我正在尝试 list inotify watches which are preventing the unmount of a filesystem .
我已经写了一部分 shell 脚本,但是它已经太慢了。我正在考虑用 Perl 重写。
有没有办法从系统调用中获取/proc
信息来进一步加速?
最佳答案
不,除了open()
和read()
系统调用之外,没有其他/proc
节点的接口(interface)。
请记住,/proc
下的节点不是真实文件。从它们读取的内容将在内核生成内容时尽快返回——备用接口(interface)不会更快。
总而言之,用任何可以直接读取文件的编程语言(如 Perl)重新实现您的 shell 脚本已经可以显着加快它的速度。在 shell 脚本中,每次调用 ls
或 grep
时,您都会启动一个新进程,甚至可能启动多个进程。启动过程相对较慢 - 远离它可能会解决您的速度问题。
关于linux - 系统调用接口(interface)到/proc信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45951874/