我如何知道進程在哪裡(從哪個目錄)被命令?

我如何知道進程在哪裡(從哪個目錄)被命令?

我正在運行一個模擬,該模擬被命令從某個目錄開始,但不記得我從哪個目錄命令模擬。我使用 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 指令的位置。

相關內容