当前位置:首页 » 操作系统 » linux下的proc

linux下的proc

发布时间: 2022-08-26 09:45:39

A. linux 下/proc目录在哪

/proc是linux的跟目录下的一个目录,你可以在《linux就该这么学》看看补一下基础知识,或者去网络查一些相关的资料都可以

B. 如何查看进程打开了哪些文件---linux下的proc文件系统

procfs是一种文件系统,通常会挂载在/proc上。ls/proc
可以看到很多以进程ID命名的文件夹,每个进程运行时的信息都记录在相应的文件夹下,而内核运行时信息直接记录在/proc下,大多是只读文件,如meminfo,cpuinfo,cmdline等,非数字命名的文件夹,是内核各子系统相关部分,如bus
总线信息(只读)
drivers
驱动信息(只读)
fs
文件系统特别信息(只读)
ide
IDE接口信息(只读)
irq
IRQ信息(只读)
net
网络子系统信息(只读)
scsi
SCSI系统信息(只读)
sysvipc
IPC子系统信息(只读)
tty
tty子系统信息(只读)
sys
系统内核可调参数
(可调)

C. linux下如何读proc

用time命令运行程序,结束后就能得到运行时间。

timeprocName

最终会得到以下三类时间:

1)实际时间(realtime):从command命令行开始执行到运行终止的消逝时间;

2)用户CPU时间(userCPUtime):命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

3)系统CPU时间(systemCPUtime):命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。


其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。

实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。

内存可以通过/proc/${pid}/mem文件查看。

写到脚本里:

timeprocName&
pid=`ps|grepprocName|grep-vgrep|awk'{print$1}'`
cat/proc/${pid}/mem

不知道脚本执行的速度能不能赶上在procName程序执行完前做完这一系列动作。

D. Linux系统中的/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 中的文件和目录提供系统物理环境最新的信息。尽管 /proc 中的文件是虚拟的,但它们仍可以使用任何文件编辑器或像'more', 'less'或 'cat'这样的程序来查看。当编辑程序试图打开一个虚拟文件时,这个文件就通过内核 中的信息被凭空地 (on the fly) 创建了。这是一些我从我的系统中得到的一些有趣 结果: 代码如下: $ ls -l /proc/cpuinfo -r--r--r-- 1 root root 0 Dec 25 11:01 /proc/cpuinfo $ file /proc/cpuinfo /proc/cpuinfo: empty $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1998.85 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1992.29 这是一个从双 CPU 的系统中得到的结果,上述大部分的信息十分清楚地给出了这个系 统的有用的硬件信息。有些 /proc 的文件是经过编码的,不同的工具可以被用来解释 这些编码过的信息并输出成可读的形式。这样的工具包括:'top', 'ps', 'apm' 等。 得到有用的系统/内核信息 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 中有一些编号的子目录。每个编号的目录对应一个进程 id (PID)。这样,每一个运行中的进程 /proc 中都有一个用它的 PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。让我们试着查找一个运行中的进程。 代码如下: $ ps -aef grep mozilla root 32558 32425 8 22:53 pts/1 00:01:23 /usr/bin/mozilla 上述命令显示有一个正在运行的 mozilla 进程的 PID 是 32558。相对应的,/proc 中应该有一个名叫 32558 的目录 代码如下: $ ls -l /proc/32558

E. linux环境如何执行proc文件

不在PATH环境变量路径里的可执行文件要运行,得加路径,相对路径、绝对路径都可以,比如
./proc

F. linux里proc文件系统 proc的全称是什么

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口

G. linux下用proc函数怎么实现循环队列

为充分利用向量空间,克服顺序存储结构的"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这种循环队列可以以单链表的方式来在实际编程应用中来实现。
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。使用求余运算可以判断队列是否已满。

代码
//circular Queue 循环队列实现 #include <stdlib.h>#include <stdio.h> #define MAXSIZE 100typedef int ElemType ; typedef struct { ElemType *base; //存储内存分配基地址 int front; //队列头索引 int rear; //队列尾索引}circularQueue; //初始化队列InitQueue(circularQueue *q){ q->base = (ElemType *)malloc((MAXSIZE) * sizeof(ElemType)); if (!q->base) exit(0); q->front = q->rear = 0;} //入队列操作InsertQueue(circularQueue *q, ElemType e){ if ((q->rear + 1) % MAXSIZE == q->front) return; //队列已满时,不执行入队操作 q->base[q->rear] = e; //将元素放入队列尾部 q->rear = (q->rear + 1) % MAXSIZE; //尾部元素指向下一个空间位置,取模运算保证了索引不越界(余数一定小于除数)} //出队列操作DeleteQueue(circularQueue *q, ElemType *e){ if (q->front == q->rear) return; //空队列,直接返回 *e = q->base[q->front]; //头部元素出队 q->front = (q->front + 1) % MAXSIZE;}
更多信息可以参考《Linux就该这么学》

H. linux 怎么访问proc目录

/proc目录下都是一些纯文本文件,记录的是从驱动程序和内核获取到的信息,是非常有用的系统状态信息,因为是文本文件只需要用cat命令来访问就可以了,比如:
cat /proc/cpuinfo
cat /proc/meminfo
可以分别查看到CPU和内存的信息

I. 查阅资料,了解 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
……

热点内容
用什么写c语言 发布:2025-05-15 21:35:56 浏览:417
linux读取u盘 发布:2025-05-15 21:32:13 浏览:507
c语言dos 发布:2025-05-15 21:18:17 浏览:663
sci编译英文 发布:2025-05-15 21:16:57 浏览:382
大猫如何设置密码 发布:2025-05-15 21:15:32 浏览:764
什么叫苹果版的和安卓版的手机 发布:2025-05-15 21:05:18 浏览:253
编程找点 发布:2025-05-15 20:43:10 浏览:587
php上传临时文件夹 发布:2025-05-15 20:43:00 浏览:657
impala数据库 发布:2025-05-15 20:42:12 浏览:649
android安装插件 发布:2025-05-15 20:41:31 浏览:241