0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中的proc介绍

马哥Linux运维 来源:博客园Mr_Soap 2024-08-14 18:14 次阅读

/proc 介绍

/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
简单来讲,/proc目录即保存在系统内存中的信息。
/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号(PID),里面包含对应进程相关的多个信息文件。

/proc/self 介绍

/proc/self表示当前进程目录。前面说了通过/proc/$pid/来获取指定进程的信息。如果某个进程想要获取当前进程的系统信息,就可以通过进程的pid来访问/proc/$pid/目录。但是这个方法还需要获取进程pid.为了更方便的获取本进程的信息,linux提供了/proc/self/目录,这个目录比较独特,不同的进程访问该目录时获得的信息是不同的,内容等价于/proc/本进程pid/。进程可以通过访问/proc/self/目录来获取自己的系统信息,而不用每次都获取pid。

如何利用

cmdline

获取当前启动进程的完整命令

cat /proc/self/cmdline

以上命令返回的结果,就是启动当前进程的命令

cwd

cwd 文件是一个指向当前进程运行目录的符号链接。可以通过查看cwd文件获取目标指定进程环境的运行目录

ls /proc/self/cwd

exe

获取当前进程的可执行文件的完整路径

ls -al /proc/self/exe

environ

获取当前进程的环境变量信息

cat /proc/self/environ

maps

/proc/self/maps的内容是当前进程的内存映射关系,可通过读取该文件来得到内存数据映射的地址。
字段值依次为:内存区域--权限--文件在内存中的偏移量--设备号--文件索引节点--路径
路径中/usr/bin/cat表示二进制文件

wKgZoma8g7OARd4_AAW33AFOb04808.png

mem

/proc/self/mem的内容是当前进程的内存映射关系,可通过读取该文件来得到内存数据映射的地址。但是注意该文件不能直接读取,因为文件中存在着一些无法读取的未被映射区域。所以要结合/proc/self/maps中的偏移地址进行读取。通过参数start和end及偏移地址值读取内容。

链接:https://www.cnblogs.com/MrSoap/p/18228926

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40222
  • Linux
    +关注

    关注

    87

    文章

    11222

    浏览量

    208889
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19882
  • Proc
    +关注

    关注

    0

    文章

    12

    浏览量

    8999

原文标题:Linux中/proc 介绍指南

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux平台/proc虚拟文件系统详解

    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统(即虚拟文件系统),它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据
    发表于 06-08 10:49 1447次阅读
    <b class='flag-5'>Linux</b>平台/<b class='flag-5'>proc</b>虚拟文件系统详解

    Linux proc文件系统详解

    上一篇:《文件系统有很多,但这几个最为重要》介绍了procfs(进程文件系统的缩写),包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc 目录, /proc
    发表于 06-15 11:42 1044次阅读

    【AWorks试用体验】学习笔记(6) proc 文件系统

    /proc 文件系统,是linux虚拟的一个文件系统,通过这个文件系统可以和kernel进行交互,查看文件信息。图6-1:proc//proc下还有三个很重要的目录:net,scsi和
    发表于 09-05 18:24

    Linux学习杂谈】之proc文件系统

    Linux的后面的版本(具体的哪个版本开始的不是特别清楚),加入了proc文件系统,这个文件系统是什么呢?首先他不是一个真实存在于硬盘当中的文件系统,它是有内核构建的一个虚拟的文件系统,在里面的文件大小
    发表于 08-21 13:42

    你不知道的Linux内核proc文件系统

    注意/proc/sys的文件属于sysctl文件,它们不属于procfs文件系统,被另外一套完全不同的api管理。
    发表于 04-25 18:42 873次阅读

    需要了解的Linux /proc/[pid] 目录的各文件

    用户和应用程序可以通过 proc 得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取 proc 文件时,proc 文件系统是动态从系统内核读出所需信息并提交的。
    发表于 04-26 15:37 624次阅读

    Linux驱动开发-proc接口介绍

    Linux系统上的/proc目录是一种文件系统,即proc文件系统。 与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊
    的头像 发表于 09-17 15:31 1515次阅读

    AIO 3399ProC工具Linux Upgrade Tool 1.34

    电子发烧友网站提供《AIO 3399ProC工具Linux Upgrade Tool 1.34.zip》资料免费下载
    发表于 09-21 10:25 2次下载
    AIO 3399<b class='flag-5'>ProC</b>工具<b class='flag-5'>Linux</b> Upgrade Tool 1.34

    AIO 3399ProC工具Linux Upgrade Tool v1.24

    电子发烧友网站提供《AIO 3399ProC工具Linux Upgrade Tool v1.24.zip》资料免费下载
    发表于 09-21 10:24 3次下载
    AIO 3399<b class='flag-5'>ProC</b>工具<b class='flag-5'>Linux</b> Upgrade Tool v1.24

    AIO 3399ProC解合包工具(Linux

    电子发烧友网站提供《AIO 3399ProC解合包工具(Linux).txt》资料免费下载
    发表于 09-21 10:01 11次下载
    AIO 3399<b class='flag-5'>ProC</b>解合包工具(<b class='flag-5'>Linux</b>)

    AIO 3399ProC Linux SDK源码包(仅支持RK3399Pro)

    电子发烧友网站提供《AIO 3399ProC Linux SDK源码包(仅支持RK3399Pro).txt》资料免费下载
    发表于 09-21 09:59 13次下载
    AIO 3399<b class='flag-5'>ProC</b> <b class='flag-5'>Linux</b> SDK源码包(仅支持RK3399Pro)

    AIO 3399ProC Linux根文件系统镜像(arm64/arm32)

    电子发烧友网站提供《AIO 3399ProC Linux根文件系统镜像(arm64/arm32).txt》资料免费下载
    发表于 09-21 09:52 11次下载
    AIO 3399<b class='flag-5'>ProC</b> <b class='flag-5'>Linux</b>根文件系统镜像(arm64/arm32)

    浅谈Linuxproc文件系统

    大家好,我是ST,今天主要和大家聊一聊,Linuxproc文件系统。
    发表于 10-10 14:59 1680次阅读

    PROC SQL介绍

    SQL(Structured Query Language)——结构化查询语言,是用于检索和更新数据的一种标准化语言,SQL在SAS通过PROC SQL来实现。
    的头像 发表于 05-19 16:10 2614次阅读
    <b class='flag-5'>PROC</b> SQL<b class='flag-5'>介绍</b>

    Linux驱动proc新接口介绍

    proc新接口 注意,在较新版本的内核, procfs 的函数接口有所变化。 系统 内核版本 Linux 5.10.111 在驱动添加以下代码: # include # inclu
    的头像 发表于 09-27 11:29 385次阅读