Linux下查询某进程对应的应用程序路径

Linux下查询某进程对应的应用程序路径,第1张

背景:

由于上个同事没有交接清楚,发现机器上有很多路径下含有nginx,系统service也配置了nginx,但是使用系统配置的service nginx status是stop状态,实际有nginx进程在执行,需要定位到该进程所启动的nginx位置。

解决方案:

1.先使用ps查询出nginx的进程号此处记为PID

2.使用ll /proc/PID

3.查看cwd或者exe后的 ->指向的路径就是该进程对应的应用程序路径

1、使用find命令

Linuxfind命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录或文件。并且将查找到的子目录和文件全部进行显示。

语法:find path -option [ -print ] [ -exec -ok command ] {} \

2、使用locate命令

Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

一般情况我们只需要输入locate your_file_name即可查找指定文件。

语法:locate [-d ][--help][--version][范本样式...]

3、使用which命令

Linux which命令用于查找文件。

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

语法:which [文件...]

4、使用whereis命令

Linux whereis命令用于查找文件。

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

语法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S<目录>...][文件...]

指的是环境变量:

dingran@ubuntu:~$

echo

$PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

dingran@ubuntu:~$

which

ls

/bin/ls

在输入一些命令时,如果没有给出命令的路径,系统则到PATH变量指定的路径下找,按照PATH

变量里的顺序(冒号:是路径分隔符),如果想让你自己的程序运行时无需输入路径名,可以将你程序的目录添加到PATH变量中,修改如下:

用root用户进,编辑.bashrc

vi

~/.bashrc

加入

set

PATH=$PATH:dir(dir为你要添加的目录)

export

PATH

保存退出


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

原文地址: http://outofmemory.cn/yw/8444435.html

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

发表评论

登录后才能评论

评论列表(0条)

保存