我可以通过系统调用获取存储在/proc
中的信息,而不是从文件中处理文本吗?
我正在尝试contributions。
我写了一个shell脚本的一部分,但它已经太慢了。我想在Perl中重写。
有没有办法从系统调用中获取/proc
信息以进一步加速?
答案 0 :(得分:2)
不,除了/proc
和open()
系统调用之外,read()
个节点没有其他接口。
请注意/proc
下的节点不是真实文件。它们的读取将在内核生成内容时尽快返回 - 另一个接口不会更快。
尽管如此,用任何可直接读取文件的编程语言(如Perl)重新实现shell脚本已经大大加快了速度。在shell脚本中,每次调用ls
或grep
时,您都会启动新流程,甚至可能启动多个流程。启动流程相对较慢 - 远离它可能会解决您的速度问题。