上一篇 下一篇 分享链接 返回 返回顶部

在Linux服务器中使用Pwdx查找进程的当前工作目录

发布人:Minchunlin 发布时间:2020-12-25 17:53 阅读量:1895

你知道 "pwd "命令吧?pwd命令(Present Working Directory的缩写)用于打印当前工作目录。那 "pwdx "呢?pwdx命令用于报告当前进程的工作目录。在本文中,我们将看到如何在Linux服务器中使用pwdx命令找到进程的当前工作目录。

在Linux服务器中使用Pwdx查找进程的当前工作目录

pwdx命令的一般用法如下:

$ pwdx

为了方便演示,我们来测试找到firefox进程的工作目录。

首先,我们需要找到Firefox的进程ID。为此,请使用“ ps”命令,如下所示:

$ pgrep firefox

5238

firefox的PID是5238。现在,找到PID 5238的工作目录,如下所示:

$ pwdx 5238

样本输出:

5238: /home/sk

或者,您可以将两个命令组合为一个命令,并找到如下所示的firefox进程的当前工作目录:

$ pwdx $(pgrep firefox)

如您所见,firefox进程的当前工作目录为/ home/sk。这样,我们可以轻松地找出进程当前在哪个目录上运行!请注意,这些命令不会显示从何处调用流程,而仅显示当前位置。

如果要打印多个进程的当前目录,请使用空格分隔PID,如下所示:

$ pwdx 5238 21126

5238: /home/sk

21126: /home/sk

有关更多详细信息,请参见手册页。

$ man pwdx

扩展:使用ls,lsof和readlink命令查找Linux进程的当前工作目录

如果由于某些原因无法使用pwdx,则以下命令可以为您提供Linux进程的工作目录:

ls

lsof

readlink

首先,使用pgrep命令找到进程的PID:

$ pgrep firefox

5238

接下来,使用“ ls”命令找到进程的当前工作目录,如下所示:

$ ls -l /proc/5238/cwd

在此,cwd表示当前工作目录。

样本输出:

lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk

要使用“ lsof”命令查找firefox进程的当前工作目录,请运行:

$ lsof -p 5238 | grep cwd

或者,将两个命令组合在一起,并获得以下单行代码的结果:

$ lsof -p $(pgrep firefox) | grep cwd

样本输出:

firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk

使用“ readlink”命令查找firefox进程的当前工作目录,运行:

$ readlink -e /proc/5238/cwd/

/home/sk

有关详细信息,请参见手册页:

$ man ls

$ man lsof

$ man readlink

目录结构
全文