什么是卸载/ proc文件系统的原因?

我正在尝试为unixes系统编写一个审计程序。 我首先想要获取各种本地命令的输出,如ifconfig,df,route等等,具体取决于脚本执行的系统。 除了复杂的实现(openbsd的netstat是不一样的Linux的,例如,我需要在那里添加一个开关),在我看来,所有我需要的命令是从/ proc文件系统获取信息。 所以,我只是直接得到它的结构,而不是与命令兼容性boterhing。 不过,我已经在networking上的各个地方看过人们想要find卸载/ proc文件系统的方法。 有人能告诉我这是什么原因吗? 为什么有人需要卸下这个分区? 感谢给我一些提示!

卸载/proc仅在重新启动或closures时发生。 这是一个虚拟的文件系统(只驻留在内存中),没有任何东西在磁盘上使用。 系统上运行的每个进程必须停止才能卸载它。

在某些情况下, chroot被设置在系统的某个地方,而当前正在运行的system /proc使用-o bind参数安装在它的顶部。 这是相同的设备和进程信息可用于在chroot运行的进程。 当chroot中的所有进程终止时,可以取消挂载的文件系统的“复制”。 这是真正的唯一方法/proc可以卸载在一个实时系统上,然后,它只是一个真实的副本。

关于您的审计程序,坚持使用每个系统上的二进制文件可能是明智的。 即使它们的输出(和使用标志)可能不同,它们也已经知道如何遍历/ proc中的不同条目,这些条目在* nix的版本和风格上会有很大差异。 祝你好运!