首页 运维 网络学院 查看内容

获取Linux进程的执行文件路径

2011-10-21 22:27 678 0

摘要:   我发现的获取linux进程的执行文件路径的方法有如下2个:  1、在c++代码里面通过函数gecpwd获取进程当前执行文件路径,通过日志或控制台来显示当前进程的运行路径。这估计是大家看到这个标题就...
关键词: zhouys 进程 11 运行 Dec 路径 目录 就是 文件 10

  我发现的获取linux进程的执行文件路径的方法有如下2个:  1、在c++代码里面通过函数gecpwd获取进程当前执行文件路径,通过日志或控制台来显示当前进程的运行路径。这估计是大家看到这个标题就想到的方法。  2、直接通过shell来查看,这也是我在实际情况中碰到的情况:  就是我们开发的系统,控制了在同一个路径下只能够运行一次,在实际部署环境过程中会在不同的路径下提供不同的tcp端口号给不同的应用来测试联调,这样,在以。/cmd的形式运行多个程序后,会出现通过ps查看进程时,看到n多的。/cmd的同名进程在运行。一旦那个应用出现问题或者时间久了后,需要查找对应目录时,不能够迅速定位那个进程是运行在那个具体的位置以及为谁服务。具体做法就是:  1、以超级用户登陆  2、进入/proc目录  3、ps查看所有符合。/cmd的进程,找出其对应的进程号  4、用ll命令: ll 进程号  如下显示一个示例:  [root@Cluster1 proc]# ll 22401  total 0  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cmdline  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 cpu  lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 cwd -> /home/zhouys/sbs/bin  -r-------- 1 zhouys zhouys 0 Dec 11 11:10 environ  lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 exe -> /home/zhouys/sbs/bin/cbs (deleted)  dr-x------ 2 zhouys zhouys 0 Dec 11 11:10 fd  -r-------- 1 zhouys zhouys 0 Dec 11 11:10 maps  -rw------- 1 zhouys zhouys 0 Dec 11 11:10 mem  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 mounts  lrwxrwxrwx 1 zhouys zhouys 0 Dec 11 11:10 root -> /  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 stat  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 statm  -r--r--r-- 1 zhouys zhouys 0 Dec 11 11:10 status  /proc文件系统下的 进程号目录 下面的文件镜像了进程的当前运行信息,从中可以看到:  cwd符号链接的就是进程22401的运行目录;  exe符号连接就是执行程序的绝对路径;  cmdline就是程序运行时输入的命令行命令;本例为:。/cbs  cpu记录了进程可能运行在其上的cpu;显示虚拟的cpu信息  environ记录了进程运行时的环境变量  fd目录下是进程打开或使用的文件的符号连接  …  通过cwd直接进入进程运行目录,通过查看相关信息就可以定位此目录对应那个端口号,以及定位是那个应用才使用此服务程序。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部