Pages

Wednesday, 20 December 2017

Linux下,查看任务运行的完整路径的方法

一般地, top -u usrname 然后c 就可以查询很多信息. 这些信息和ps -ef |grep usrname 获得的差不多, 包括ID啊运行时间啊运行的指令啊都在里面.
然而很多时候我们使用相对路径来执行任务,这时就想直到该任务究竟是在哪跑的了? 所以我们想知道其绝对路径! 但是…怎么查…
Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为cwd链接文件即记录了运行时的绝对路径,而exe则是运行的程序的绝对路径. 通过llls –l命令即可查看到具体的绝对路径!!
在/proc/PID下存在的一些文件:
  • cwd符号链接的是进程运行目录;
  • exe符号连接就是执行程序的绝对路径;
  • cmdline就是程序运行时输入的命令行命令;
  • environ记录了进程运行时的环境变量;
  • fd目录下是进程打开或使用的文件的符号连接。
  • cpu记录了进程可能运行在其上的cpu;显示虚拟的cpu信息
如果要挖掘更多相关程序运行的信息, 就在/proc/PID中找吧!
PS: 当使用脚本运行长时间的命令时, 脚本总是/bin/bash一类的shell, 此时还是看cwd靠谱.

No comments:

Post a Comment