我正在运行一个模拟,命令它从某个目录开始,但不记得我从哪个目录命令模拟。我使用 python 来运行模拟,因此
ps aux | grep PID
只显示执行程序所在的位置。(/usr/bin/python)。但是我想知道从最开始的点开始操作命令的位置,也就是我正在运行的文件所在的位置。
我将非常感谢任何有用的评论!
谢谢 :)
答案1
也许您会想使用该history
命令来查看您实际使用了哪个命令?
答案2
要查看 python 脚本的路径,通常可以使用以下命令查看ps
(w
如果需要,使用 ,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 命令的位置。