這是在Linux上查看進程路徑的命令
ps -auxwe | grep 24466 ( 24466 is only example )
但請建議是否可以在Solaris上查看正在運行的進程的路徑
如果是,Solaris 的 ps 語法是什麼?
答案1
您可以在Solaris 和Linux 中使用pwdx。
密碼<pid_number>
例子:
pwdx $$
25711: /export/home/pippo
答案2
如何知道正在運行的進程的絕對路徑?
如果「絕對路徑」指的是正在運行的二進位檔案的完整路徑,則這適用於我安裝的 Solaris 11 副本:
pmap PID | grep -v ':' | head 1 | awk '{ print $4 }'
替換PID
為您感興趣的進程的進程 ID。
pmap
發出進程的位址映射,包括映射的來源檔案的完整路徑。這包括實際的二進位文件,這是第一個對應輸出的行。輸出的第一行包含進程 ID 和進程參數。請注意,進程參數不足以完全識別正在運行的可執行檔的完整路徑。實際位址空間映射的前幾行是來自實際執行二進位檔案的映射,列出了二進位檔案的完整絕對路徑。
不幸的是,您需要對流程圖進行讀取存取才能獲取該資訊。如果沒有這種訪問權限,我不知道有什麼方法可以獲得您正在尋找的東西。
編輯:Solaris 11 上也有/proc/[PID]/path/a.out
,它是實際二進位檔案的軟連結:
在bash中:
bash-4.1$ readlink /proc/$$/path/a.out
/usr/bin/bash
請注意,這/proc/$$/path/a.out
比/proc/self/path/a.out
:
bash-4.1$ readlink /proc/self/path/a.out
/usr/bin/readlink
不幸的是,如果您無權通過 訪問流程圖pmap
,您可能也無法訪問/proc/[PID]/path/a.out
,因為我的 Solaris 11 安裝的權限/proc/[PID]/path
均為 500 - 只有所有者和 root 對該目錄具有讀取和執行權限。
答案3
/usr/ucb/ps auxwww| | /usr/ucb/ps grep 6851 在 SunOS servername01 5.10 Generic_147440-25 sun4u sparc SUNW、Sun-Fire-V490 上為我工作