proc文件系统|Linux系统中的/proc文件系统有什么用

proc文件系统|Linux系统中的/proc文件系统有什么用的第1张示图

『壹』 PROC在汇编中是什么意思

proc是定义子程序的伪指令,位置在子程序的开始处,它和endp分别表示子程序定义的开始和结束两者必须成对出现。

proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节。此外,这些特殊文件中大多数文件的时间及日期属性通常为当前系统时间和日期,这跟它们随时会被刷新(存储于RAM中)有关。

为了查看及使用上的方便,这些文件通常会按照相关性进行分类存储于不同的目录甚至子目录中,如/proc/scsi目录中存储的就是当前系统上所有SCSI设备的相关信息,/proc/N中存储的则是系统当前正在运行的进程的相关信息,其中N为正在运行的进程(可以想象得到,在某进程结束后其相关目录则会消失)。

大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然,但也有文件的信息却不怎么具有可读性。不过,这些可读性较差的文件在使用一些命令如apm、free、lspci或top查看时却可以有着不错的表现。

(1)proc文件系统扩展阅读:

用法:

proc中的SQL语句不要加分号(;),注释如果是C++工程使用如果是C++使用//或者,在oracle中的注释是–,oracle数据库中的数据如果数据字节不足位数,默认用空格补全,宿主变量的空间要大于数据库的字段空间。

对于结构的特殊含义处理:sqlca.sqlcode==1403表示结束了查找循环,这个在动态sql语句中比较重要,

sqlca.sqlcode==-1405表示查询值为空的时候报的错误,这个最好留给返回值待程序处理,

sqlca.sqlcode==-1480表示在sql语句中传入的变量时空值一般就是传值失败,可能是空间的大小问题。

关于Proc中特殊的SQL语句,如,delete,update,alter,insert into等数据变动性操作的时候,

要注意2点,可以再宿主变量区申请复杂的结构类型的指针,用指针将参数外部的数据绑定到sql语句中,接下来就是提交事物,操作完变动性数据之后就是commint提交事物,进行回滚。

进程目录中的常见文件介绍

/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件。

[root rhel5~]#ll/proc

total 0

dr-xr-xr-x 5 root root 0 Feb 8 17:08 1

dr-xr-xr-x 5 root root 0 Feb 8 17:08 10

dr-xr-xr-x 5 root root 0 Feb 8 17:08 11

dr-xr-xr-x 5 root root 0 Feb 8 17:08 1156

dr-xr-xr-x 5 root root 0 Feb 8 17:08 139

dr-xr-xr-x 5 root root 0 Feb 8 17:08 140

dr-xr-xr-x 5 root root 0 Feb 8 17:08 141

dr-xr-xr-x 5 root root 0 Feb 8 17:09 1417

dr-xr-xr-x 5 root root 0 Feb 8 17:09 1418

『贰』 手机存储里的proc文件夹是什么能删吗

这个文件夹是系统文件夹,保存的是当前内存中用到的程序、数据信息,一定不能删。

『叁』 查阅资料,了解 linux/unix 的 /proc 文件系统是什么有什么作用

/proc 文件系复统是一个虚拟文制件系统, 它只存在内存当中,而不占用外存空间。Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。示例查看proc信息: ls /proc/查看内核信息:ls /proc/sys查看网卡信息:ls /proc/net查看SCSI信息: ls /proc/scsi查看已加载模块:cat /proc/moles……

『肆』 Linux里面proc是什么

proc被称为虚拟文件系统,它是一个控制中心,可以通过更改其中某些文件改变内核运内行状态,它也是内容核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。Linux中许多工具的数据来源正是proc目录中的内容,比如lsmod的命令是cat /proc/moles的别名。更多关于proc的介绍,或者是Linux的命令讲解,楼主可以网络《Linux就该这么学》,里面有详细的介绍和使用案例可以参考学习。

『伍』 求LINUX系统中,对proc文件系统的理解。

/proc文件系统是GNU/Linux特有复的制。它是一个虚拟的文件系统,因此在该目录中的所有文件都不会消耗磁盘空间。通过它能够非常简便地了解系统信息,尤其是其中的大部分文件是人类可阅读的(不过还是需要一些帮助)。许多程序实际上只是从/proc的文件中收集信息,然后按照它们自己的格式组织后显示出来。有一些显示进程信息的程序(top、ps等)就是这么作的。/proc还是了解您系统硬件的好去处。就象那些显示进程信息的程序一样,不少程序只是提供了获取/proc中信息的接口。其中还有一个特殊的子目录:/proc/sys。它让您能够显示内核参数并更改它们,而且这一更改将立即生效。

『陆』 proc,sysfs,tmpfs,devpts都说什么文件系统

proc是进程和系统抄文件系统tmpfs是临时文件系统,一种基于内存的文件系统devpts远程虚拟终端文件设备,文件夹里面一般是一些字符设备文件sysfs 基于内存的文件系统,将内核信息以文件方式提供给用户使用

『柒』 Linux系统中的/proc文件系统有什么用

/proc是一个虚拟文件抄系统,这个文件系统下的所有的数据都是在内存当中的(因为它就是挂载在内存当中的),所以在用df -a命令查看它的大小的时候会显示为0。这个文件系统的作用是放置Linux系统所需要加载的系统数据,例如系统内核、进程、外部设备的状态以及网络状态等,比如常见的/proc/cpuinfo文件就在里面,因为数据是在内存中,会有非常快的读取速度。

『捌』 /proc文件系统的作用

proc 文件系统在Linux中有额外的机制可以为内核和内核模块将信息发送给进程– /proc 文件系统。最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告的内核使用,例如/proc/moles 有模块的列表/proc/meminfo 有内存使用的统计表。 使用proc 文件系统的方法和使用设备驱动程序非常相似–创建一个/proc 文件需要的所有信息的结构,包括任何处理函数的指针(在我们的例子中只有一个,当某人试图从/proc 文件读时调用的那一个)。然后,init_mole 在内核中登记该结构而cleanup_mole 注销它。 我们使用proc_register_dynamic(这是在2.0 版中的情况,在2.2 版中如果我们将节点设置为0系统将自动为我们做到) 的原因是我们不想预先决定我们的文件的节点数字,而是为防止冲突而由内核决定它。通常的文件系统存在于磁盘上而不是内存中(/proc 在内存中),在这中情况下,节点数是是指向文件的索引节点所在的磁盘位置的指针。节点包含文件的信息(例如文件的存取权限)和指向磁盘位置或文件数据可以被找到的几个位置的指针。 因为当文件被打开或关闭的时候不能得到调用,所以在这个模块中没有地方放置MOD_INC_USE_COUNT 和MOD_DEC_USE_COUNT,并且,如果文件被打开随后模块被移除,我们没有办法避免后果。在下一章我们会看到一个艰难的但更灵活的可以处理/proc文件的实现方式,它也可以让我们防止那个问题。Linux 内核提供了一种通过/proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的Linux 系统的/proc 文件系统的基本概念都是相同的,但本文只讨论基于intel x86 架构的Linux /proc 文件系统。 _________________ _________________ _________________/proc — 一个虚拟文件系统/proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制(所以叫做/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中(on the fly) 改变设置(通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你察看文件/proc/mounts (和mount 命令一样列出所有已经加载的文件系统),你会看到其中 一行是这样的:grep proc /proc/mounts/proc /proc proc rw 0 0/proc 由内核控制,没有承载/proc 的设备。因为/proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对/proc 进行一次'ls -l' 可以看到大部分文件都是0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为/proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层(VFS) 了。然而,直到当VFS 调用它,请求文件、目录的i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。加载proc 文件系统 如果系统中还没有加载proc 文件系统,可以通过如下命令加载proc 文件系统: mount -t proc proc /proc上述命令将成功加载你的proc 文件系统。proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。下面是一些重要的文件:* /proc/cpuinfo – CPU 的信息(型号, 家族, 缓存大小等)* /proc/meminfo – 物理内存、交换空间等的信息* /proc/mounts – 已加载的文件系统的列表* /proc/devices – 可用设备的列表* /proc/filesystems – 被支持的文件系统* /proc/moles – 已加载的模块* /proc/version – 内核版本* /proc/cmdline – 系统启动时输入的内核命令行参数proc 中的文件远不止上面列出的这么多。想要进一步了解的读者可以对/proc 的每一个文件都'more'一下或读参考文献[1]获取更多的有关/proc 目录中的文件的信息。我建议使用'more'而不是'cat',除非你知道这个文件很小,因为有些文件(比如kcore) 可能会非常长。通过/proc 与内核交互 上面讨论的大部分/proc 的文件是只读的。而实际上/proc 文件系统通过/proc 中可读写的文件提供了对内核的交互机制。写这些文件可以改变内核的状态,因而要慎重改动这些文件。/proc/sys 目录存放所有可读写的文件的目录,可以被用于改变内核行为。/proc/sys/kernel – 这个目录包含反通用内核行为的信息。/proc/sys/kernel/{domainname, hostname} 存放着机器/网络的域名和主机名。这些文件可以用于修改这些名字。 $ hostnamemachinename.domainname.com$ cat /proc/sys/kernel/domainnamedomainname.com$ cat /proc/sys/kernel/hostnamemachinename $ echo "new-machinename" > /proc/sys/kernel/hostname$ hostnamenew-machinename.domainname.com 这样,通过修改/proc 文件系统中的文件,我们可以修改主机名。很多其他可配置的文件存在于/proc/sys/kernel/。这里不可能列出所有这些文件,读者可以自己去这个目录查看以得到更多细节信息。另一个可配置的目录是/proc/sys/net。这个目录中的文件可以用于修改机器/网络的网络属性。比如,简单修改一个文件,你可以在网络上瘾藏匿的计算机。 $ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 这将在网络上瘾藏你的机器,因为它不响应icmp_echo。主机将不会响应其他主机发出的ping 查询。$ ping machinename.domainname.comno answer from machinename.domainname.com 要改回缺省设置,只要$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all /proc/sys 下还有许多其它可以用于改变内核属性。读者可以通过参考文献[1], [2] 获取更多信息。结论 /proc 文件系统提供了一个基于文件的Linux 内部接口。它可以用于确定系统的各种不同设备和进程的状态。对他们进行配置。因而,理解和应用有关这个文件系统的知识是理解你的Linux 系统的关键。

『玖』 为什么说proc是一个虚拟文件系统

应该是虚拟的目录吧。Linux下设备都以文件形式来表示。/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录下的文件来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊。

『拾』 linux里proc文件系统 proc的全称是什么

proc 文件系统在Linux中有额外的机制可以为内核和内核模块将信息发送给进程– /proc 文件系统。最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告的内核使用,例如/proc/moles 有模块的列表/proc/meminfo 有内存使用的统计表。 使用proc 文件系统的方法和使用设备驱动程序非常相似–创建一个/proc 文件需要的所有信息的结构,包括任何处理函数的指针(在我们的例子中只有一个,当某人试图从/proc 文件读时调用的那一个)。然后,init_mole 在内核中登记该结构而cleanup_mole 注销它。 我们使用proc_register_dynamic(这是在2.0 版中的情况,在2.2 版中如果我们将节点设置为0系统将自动为我们做到) 的原因是我们不想预先决定我们的文件的节点数字,而是为防止冲突而由内核决定它。通常的文件系统存在于磁盘上而不是内存中(/proc 在内存中),在这中情况下,节点数是是指向文件的索引节点所在的磁盘位置的指针。节点包含文件的信息(例如文件的存取权限)和指向磁盘位置或文件数据可以被找到的几个位置的指针。 因为当文件被打开或关闭的时候不能得到调用,所以在这个模块中没有地方放置MOD_INC_USE_COUNT 和MOD_DEC_USE_COUNT,并且,如果文件被打开随后模块被移除,我们没有办法避免后果。在下一章我们会看到一个艰难的但更灵活的可以处理/proc文件的实现方式,它也可以让我们防止那个问题。Linux 内核提供了一种通过/proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的Linux 系统的/proc 文件系统的基本概念都是相同的,但本文只讨论基于intel x86 架构的Linux /proc 文件系统。 _________________ _________________ _________________/proc — 一个虚拟文件系统/proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制(所以叫做/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中(on the fly) 改变设置(通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你察看文件/proc/mounts (和mount 命令一样列出所有已经加载的文件系统),你会看到其中 一行是这样的:grep proc /proc/mounts/proc /proc proc rw 0 0/proc 由内核控制,没有承载/proc 的设备。因为/proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对/proc 进行一次'ls -l' 可以看到大部分文件都是0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为/proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层(VFS) 了。然而,直到当VFS 调用它,请求文件、目录的i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。加载proc 文件系统 如果系统中还没有加载proc 文件系统,可以通过如下命令加载proc 文件系统: mount -t proc proc /proc上述命令将成功加载你的proc 文件系统。proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。下面是一些重要的文件: * /proc/cpuinfo – CPU 的信息(型号, 家族, 缓存大小等)* /proc/meminfo – 物理内存、交换空间等的信息* /proc/mounts – 已加载的文件系统的列表* /proc/devices – 可用设备的列表* /proc/filesystems – 被支持的文件系统* /proc/moles – 已加载的模块* /proc/version – 内核版本* /proc/cmdline – 系统启动时输入的内核命令行参数 proc 中的文件远不止上面列出的这么多。想要进一步了解的读者可以对/proc 的每一个文件都'more'一下或读参考文献[1]获取更多的有关/proc 目录中的文件的信息。我建议使用'more'而不是'cat',除非你知道这个文件很小,因为有些文件(比如kcore) 可能会非常长。通过/proc 与内核交互 上面讨论的大部分/proc 的文件是只读的。而实际上/proc 文件系统通过/proc 中可读写的文件提供了对内核的交互机制。写这些文件可以改变内核的状态,因而要慎重改动这些文件。/proc/sys 目录存放所有可读写的文件的目录,可以被用于改变内核行为。/proc/sys/kernel – 这个目录包含反通用内核行为的信息。/proc/sys/kernel/{domainname, hostname} 存放着机器/网络的域名和主机名。这些文件可以用于修改这些名字。 $ hostnamemachinename.domainname.com$ cat /proc/sys/kernel/domainnamedomainname.com$ cat /proc/sys/kernel/hostnamemachinename $ echo "new-machinename" > /proc/sys/kernel/hostname$ hostnamenew-machinename.domainname.com 这样,通过修改/proc 文件系统中的文件,我们可以修改主机名。很多其他可配置的文件存在于/proc/sys/kernel/。这里不可能列出所有这些文件,读者可以自己去这个目录查看以得到更多细节信息。另一个可配置的目录是/proc/sys/net。这个目录中的文件可以用于修改机器/网络的网络属性。比如,简单修改一个文件,你可以在网络上瘾藏匿的计算机。 $ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 这将在网络上瘾藏你的机器,因为它不响应icmp_echo。主机将不会响应其他主机发出的ping 查询。$ ping machinename.domainname.comno answer from machinename.domainname.com 要改回缺省设置,只要$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all /proc/sys 下还有许多其它可以用于改变内核属性。读者可以通过参考文献[1], [2] 获取更多信息。结论 /proc 文件系统提供了一个基于文件的Linux 内部接口。它可以用于确定系统的各种不同设备和进程的状态。对他们进行配置。因而,理解和应用有关这个文件系统的知识是理解你的Linux 系统的关键。

未经允许不得转载:山九号 » proc文件系统|Linux系统中的/proc文件系统有什么用

赞 (0)