Billy ONeal Asked: 2010-10-14 07:58:59 +0800 CST2010-10-14 07:58:59 +0800 CST 2010-10-14 07:58:59 +0800 CST procfs的作用是什么? 772 sysfs非常有意义——它代表系统,并安装在/dev. procfs然而,安装到 的/proc,则更加模糊。procfs&是干什么/proc用的? kernel 4 个回答 Voted Gilles 'SO- stop being evil' 2010-10-14T12:38:55+08:002010-10-14T12:38:55+08:00 从历史上看(在 Linux 之前的几年),/proc首先出现,并且每个进程包含一个文件。每个(伪)文件都提供了对进程内存的访问,例如,从文件中读取字节数 0x1234 会为您提供进程虚拟内存中地址 0x1234 的内容。该接口由ps(原始进程信息查看器)和调试器等命令使用。 Unix 的后续变体复制了原理,但没有复制细节。例如,在 Linux 上,每个进程有一个目录,以可读的形式包含各种信息。例如/proc/1/cwd,是指向进程 1 的当前工作目录的符号链接,并且/proc/1/cmdline是包含命令行参数的文件。 因为它在那里,Linux 也用来/proc提供系统信息,例如/proc/cpuinfo包含有关 CPU(微处理器)的信息和/proc/bus/usb/包含有关 USB 设备的信息。的文档/proc在内核文档中filesystems/proc.txt。 后来,/sys(sysfs文件系统)来提供有关内核的信息。例如,有关于 USB 设备的信息/sys/bus/usb(格式与 不同/proc/bus/usb),有关于内核模块的信息(以及控制某些模块的接口)/sys/modules。 请注意,/proc/sys这与/sys. /proc/sys显示了一组特定的运行时可配置内核参数,称为sysctl 参数。 您将在 Wikipedia 上找到更多历史和当前信息/proc。 ¹或更准确地说,proc文件系统可以安装在其他位置(但不能随意使用它/proc会破坏很多程序)。 Best Answer txwikinger 2010-10-14T08:12:06+08:002010-10-14T08:12:06+08:00 /proc是内核的实时API。您可以设置内核变量,或检索内核信息。procfs 类比是一个文件系统模拟,能够通过文件系统与内核进行通信。 每个进程都有自己的目录,/proc以进程 ID 作为名称。在此目录中,您可以找到内核为特定进程提供的所有类型的信息。 其他目录允许获取内核统计信息(如/proc/meminfo)或信息(如/proc/cpuinfo),或者您可以配置某些内容(如/proc/sys/vm/swappiness允许您更改内核将如何使用交换空间)。 maxschlepzig 2010-10-14T08:11:29+08:002010-10-14T08:11:29+08:00 procfs 提供有关您正在运行的进程的信息。 例如: $ sleep 120 & [2] 11581 $ ls /proc/11581 ... cmdline cwd ... $ cat /proc/11581/cmdline sleep120 Dmitriy Likhten 2010-10-14T12:18:47+08:002010-10-14T12:18:47+08:00 一些答案有点变化。 /proc是当前运行进程的文件系统表示。你没有什么特别的地方,如果你可以读取文件,你就可以与内核交互。procfs只是那个的实现。 这里的理念是:使用 grep 和朋友之类的小工具与流程之类的东西进行交互,而不是编写专门的工具来与流程交互。
从历史上看(在 Linux 之前的几年),
/proc
首先出现,并且每个进程包含一个文件。每个(伪)文件都提供了对进程内存的访问,例如,从文件中读取字节数 0x1234 会为您提供进程虚拟内存中地址 0x1234 的内容。该接口由ps
(原始进程信息查看器)和调试器等命令使用。Unix 的后续变体复制了原理,但没有复制细节。例如,在 Linux 上,每个进程有一个目录,以可读的形式包含各种信息。例如
/proc/1/cwd
,是指向进程 1 的当前工作目录的符号链接,并且/proc/1/cmdline
是包含命令行参数的文件。因为它在那里,Linux 也用来
/proc
提供系统信息,例如/proc/cpuinfo
包含有关 CPU(微处理器)的信息和/proc/bus/usb/
包含有关 USB 设备的信息。的文档/proc
在内核文档中filesystems/proc.txt
。后来,
/sys
(sysfs
文件系统)来提供有关内核的信息。例如,有关于 USB 设备的信息/sys/bus/usb
(格式与 不同/proc/bus/usb
),有关于内核模块的信息(以及控制某些模块的接口)/sys/modules
。请注意,
/proc/sys
这与/sys
./proc/sys
显示了一组特定的运行时可配置内核参数,称为sysctl 参数。您将在 Wikipedia 上找到更多历史和当前信息
/proc
。¹或更准确地说,
proc
文件系统可以安装在其他位置(但不能随意使用它/proc
会破坏很多程序)。/proc
是内核的实时API。您可以设置内核变量,或检索内核信息。procfs 类比是一个文件系统模拟,能够通过文件系统与内核进行通信。每个进程都有自己的目录,
/proc
以进程 ID 作为名称。在此目录中,您可以找到内核为特定进程提供的所有类型的信息。其他目录允许获取内核统计信息(如
/proc/meminfo
)或信息(如/proc/cpuinfo
),或者您可以配置某些内容(如/proc/sys/vm/swappiness
允许您更改内核将如何使用交换空间)。procfs 提供有关您正在运行的进程的信息。
例如:
一些答案有点变化。
/proc
是当前运行进程的文件系统表示。你没有什么特别的地方,如果你可以读取文件,你就可以与内核交互。procfs
只是那个的实现。这里的理念是:使用 grep 和朋友之类的小工具与流程之类的东西进行交互,而不是编写专门的工具来与流程交互。