我如何知道该进程在哪里(从哪个目录)被命令?

我如何知道该进程在哪里(从哪个目录)被命令?

我正在运行一个模拟,命令它从某个目录开始,但不记得我从哪个目录命令模拟。我使用 python 来运行模拟,因此

ps aux | grep PID

只显示执行程序所在的位置。(/usr/bin/python)。但是我想知道从最开始的点开始操作命令的位置,也就是我正在运行的文件所在的位置。

我将非常感谢任何有用的评论!

谢谢 :)

答案1

也许您会想使用该history命令来查看您实际使用了哪个命令?

答案2

要查看 python 脚本的路径,通常可以使用以下命令查看psw如果需要,使用 ,wide, 选项):

~% ps ugxw | grep python
romano    2136  0.0  0.2  10524  4132 ?        S    09:13   0:00 python /home/romano/software/wallpap/bg_slideshow.py
romano    5839  0.0  0.0   4440   832 pts/1    S+   10:00   0:00 grep python

例如,进程 2136 是脚本/home/romano/software/wallpap/bg_slideshow.py。如果你想知道进程的工作目录,请执行

~% ls -l /proc/2136/cwd
lrwxrwxrwx 1 romano romano 0 Nov 11 10:04 /proc/2136/cwd -> /home/romano

/home/romano该进程正在以其当前目录运行。

文件中/proc/2136/cmdline有完整的命令行规范 --- 与您在 中看到的相同ps,其中命令和参数由 0 值字节分隔(以保留空格)。您可以在终端上使用以下命令查看它

% cat /proc/2136/cmdline | tr "\0" " "
python /home/romano/software/wallpap/bg_slideshow.py % 

其中“tr”为找到的每个“nul”字符打印一个空格。(末尾的虚假%是由于文件没有以换行符结尾)。

/proc 文件系统是一个非常有用的工具 --- 完整的文档有点“难”,但有一个链接通常很有用:https://www.kernel.org/doc/Documentation/filesystems/proc.txt

答案3

使用which命令。例如,which ifconfig输出 ifconfig 命令的位置。

相关内容