Linux /proc/$pid Linux进程文件

╰+攻爆jí腚メ 2022-12-11 03:17 373阅读 0赞

Linux中 /proc/$pid 目录下 存放着所有的进程信息
博客1
博客2

首先在/root目录下,启动一个进程
在这里插入图片描述

  1. # 启动一个简单的文件服务器,访问端口9999
  2. python -m http.server 9999

查询这个进程的pid

  1. 另外起一个终端shell,去查询刚才进程的pid
  2. lsof -i:9999
  3. # 或
  4. ps -ef | grep python

在这里插入图片描述

我的pid号是 1780

  1. # 进入进程的linux目录,/proc 下面包含所有pid号的文件夹
  2. cd /proc/1780
  3. ls
  4. ll

在这里插入图片描述

执行ls 和 ll 可以看到很多信息,具体的可以参考
https://www.linuxprobe.com/linux-proc-pid.html

  • exe 为实际运行程序的符号链接
  • fd 是一个目录,包含进程打开文件的情况
  • environ 显示进程的环境变量
  • cmdline 是一个只读文件,包含进程的完整命令行信息
  • 等等

    cd /proc/1780/fd
    echo “1111” > 0

我们会发现,python -m http.server 9999 这个进程也会输出1111, 因为这个 0 就是这个进程的一个文件描述符,可能是标准输出/错误输出 啥的。

发表评论

表情:
评论列表 (有 0 条评论,373人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux进程

    一、什么是进程 Unix标准定义:一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。 进程由 程序代码、数据、打开文件描述符、栈空间、环境空间等组成。

    相关 linux 进程

    进程:运行中的程序(打开的文件,挂起的信号,内存,执行线程等等) 线程(pc,寄存器(线程需记录cpu寄存器的值,以挂起后恢复执行),栈),调度对象,在liux里是特殊进程