linux /proc 文件系统

/proc系统是一个伪文件系统,它只存在内存当中,而不占用外存空间,以文件系统的方式为内核与进程提供通信的接口。

/proc目录下有很多以数字命名的目录,每个数字代表进程号PID它们是进程目录。系统中当前运行的每一个进程在/proc下都对应一个以进程号为目录名的目录/proc/pid,

它们是读取进程信息的接口,我们可以进到这个文件里面,了解进程的运行时信息和统计信息。

1、/proc/pid/environ 包含了进程的可用环境变量的列表 。如果程序出问题了,想确定环境变量是否设置生效,可以cat这个文件出来查看确认一下。但要注意,只有在进程还在的时候才有用。

2、/proc/pid/comm 包含进程的命令名。

3、/proc/pid/exe 为实际运行程序的符号链接。

4、/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接。从这里可以查看进程打开的文件描述符信息,包括标准输入、输出、错误流,进程打开的socket连接文件描述符也能看到,lsof命令也有类似的作用。目录中的每一项都是一个符号链接,指向打开的文件,数字则代表文件描述符。

可以用ls -l /proc/pid/fd | wc -l来计数

5、/proc/pid/stack 示当前进程的内核调用栈信息,只有内核编译时打开了 CONFIG_STACKTRACE 编译选项,才会生成这个文件。

相关推荐
阿里云大数据AI技术7 分钟前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
你好潘先生6 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion5718 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式