Linux查看进程运行的完整路径及参数的方法

Linux查看进程运行的完整路径及参数的方法,第1张

Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息.

这些信息,有的是软链接,有的是文本,有的是目录.

查看这些信息需要对应的权限.

其中部分常用信息如下.

cwd 符号链接, 是进程运行目录. sudo ls -al /proc/PID/cwd

exe 符号连接, 是执行程序的绝对路径. sudo ls -al /proc/PID/exe

cmdline 文本, 是程序运行时输入的命令行命令. sudo cat /proc/PID/cmdline

environ 文本, 记录了进程运行时的环境变量. sudo cat /proc/PID/environ

fd 目录, 里面是进程打开或使用的文件的符号连接. sudo ls -al /proc/PID/fd

一、具体分布如图所示:

二、关于堆和栈

(1)分配方式:

栈:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其 *** 作方式类似于数据结构中的栈。

堆: 一般由程序员分配释放,它的分配方式类似于链表。

(2)申请后系统的响应:

栈:只要所申请的空间小于栈的剩余空间,则系统为程序分配内存,否则栈溢出。

堆: *** 作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,遍历该链表,找出第一个大于所申请空间的节点,然后将其从链表中删除并分配,如果没用完,则系统会把多余的重新放回到链表中。

(3)申请大小的限制:

栈:栈是高地址向低地址扩展的连续内存,栈的大小一般是2M;

堆:堆是低地址向高地址扩展的不连续内存,堆的大小与计算机有效的虚拟内存有关系。

(4)申请效率:

栈:由系统自动分配,速度较快;

堆:速度慢,容易产生内存碎片;

关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7613407.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存