热搜:前端 nest neovim nvim

linux下proc是什么文件系统

lxf2023-06-09 09:15:02

在linux中,proc是一个虚拟文件系统,是一个控制中心,可以通过更改一些文件来改变核心的运行状态;它也是我们的查询中心,用户可以查看系统硬件和当前运行过程信息。Proc系统只存在内存,通过文件系统为访问系统内核数据的操作提供接口,可以通过更改一些文件来改变内核的操作状态。

linux下proc是什么文件系统

本教程操作环境:linux7.3系统、Dell G3电脑。

什么是文件系统?

Proc被称为虚拟文件系统。它是一个控制中心,可以通过更改一些文件来改变核心的运行状态。它也是一个核心清空到我们的查询中心。用户可以查看系统硬件和当前运行过程信息。

Linux中许多工具的数据源是proc目录中的内容,例如lsmod的命令是catt /proc/modules的别名。

Linux中有一种特殊的伪文件系统,用于使用与文件界面统一的操作来完成各种功能,如ptyfs、devfs、sysfs和procfs。procfs是应用最广泛的伪文件系统之一。

就文件系统术语而言,/ proc目录不是真正的文件系统,它是一个虚拟文件系统,有时也被称为过程信息伪文件系统。

proc 放置的数据都在内存中,如系统核心、过程、外部设备状态和网络状态。因为目录中的数据都在内存中,所以它本身并不占用任何硬盘空间。

procfs是Linux内核信息的抽象文件接口。大量内核中的信息和可调参数作为常规文件映射到目录树中,使我们能够通过echo或cat等文件操作命令简单直接地检索和调整系统信息。与此同时,procfs还提供了一个接口,使我们自己的内核模块或用户态程序能够通过procfs传输参数。在今天的Linux系统中,大量的系统工具也通过procfs获取内核参数,比如ps、lspci等,没有procfs,他们可能无法正常工作。

Proc文件系统是一种伪文件系统,它只存在于内存中,不占用外存空间。它以文件系统的形式为访问系统内核数据的操作提供界面。用户和应用程序可以通过proc获取系统信息,并可以更改内核的某些参数。由于系统信息,如过程,是动态变化的,当用户或应用程序读取proc文件时,proc文件系统会动态地从系统中读取和提交所需的信息。

linux proc文件系统详细说明

Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其他常见的文件系统不同,/proc是一种伪文件系统(即虚拟文件系统,只存在内存,不占用外存空间。它以文件系统的形式为访问系统内核数据的操作提供接口),存储一系列当前内核运行状态的特殊文件。用户可以通过这些文件查看当前运行过程中的系统硬件和信息,甚至通过更改其中一些文件来改变内核的运行状态。

PID

目录,系统中当前运行的每个过程都有相应的目录在/proc下,以进程为基础 PID号为目录名.

  • attr

    目录,提供安全相关属性,可读可写,以支持SELinux等安全模块,需要配置CONFIG_SECURITY。

  • current

    文件,当前安全相关属性。

  • exec

    执行命令execve时设置的安全相关属性。

  • fscreate

    执行命令open文件、mkdir、symlink、mknod时设置的安全相关属性。

  • keycreate

    执行命令add_key时设置的安全相关属性。

  • prev

    文件,最后一次执行命令execve时的安全相关属性,即前一个“//proc/[pid]/attr/current”。

  • sockcreate

    文件,创建socket时设置的安全相关属性。

  • autogroup

    该文件可用于修改分配给自动分组的CPU带宽。这是通过“在“”中”。nice在范围内写入一个数字来设置自动分组的nice值。取值范围为 19(低优先级)~ -20(高优先级)。(写入值超过此范围会导致write(2)失败,错误为EINVAL。)

  • auxv

    文件,ELF解释器信息,格式为unsigned long类型的ID加上unsigned long类型的值,最后是两个0(man getauxval)。

  • cgroup

    文件、过程所属的控制组,格式为冒号分隔三个字段,即结构ID、子系统、控制组需要配置CONFIG_CGROUPS。

  • clear_refs

    文件,只写,只用于过程所有者,清除PG_Referenced和用于估算内存使用量的PG_ReferencedACCESSED/YOUNG,有1、2、3、44种策略,1表示清除所有相关页面,2表示清除相关匿名页面,3表示清除相关映射文件页面,4表示清除相关soft-dirty页面,需要配置CONFIG_PROC_PAGE_MONITOR。

  • cmdline

    文件,只读,保存启动过程的完整命令行字符串,如果是僵尸过程,则该文件为空。

  • comm

    文件、过程命令名、不同线程(man clone prctl pthread_setname_np)可能有不同的线程名,位置在“task/[tid]/comm名字长度超过TASK_COMM_LEN会被截断。

  • coredump_filter

    文件、coredump过滤器,如000037(man core),不同的二进制位表示过滤不同的信息。

  • cpuset

    文件、控制CPU和内存的节点(man cpuset)。

  • cwd -