在 HPUX 上,如何列出所有正在運行的進程的可執行檔的完整路徑?

在 HPUX 上,如何列出所有正在運行的進程的可執行檔的完整路徑?

我需要什麼:當前正在運行的所有可執行檔及其完整路徑的清單。

像這樣的事情:

第1234章
第4567章

使用UNIX95= ps -exo pid,comm我可以獲得一個包含 PID 和命令的列表,如下所示

11146 /opt/wbem/lbin/cimprovagt 0 4 8 根 IOTreeModule
分段閱讀_第 8338 章
16684 postgres:sfmdb evweb [本地] 空閒
第2518章 /usr/sbin/stm/uut/bin/工具/監視器/WbemWrapperMonitor
第2264章 /usr/sbin/psb/bin/diagtxd
8340-sh
7772 sshd: root@pts/0
8333 sshd: root@pts/1
第7777章

這是我設法使用的最接近的結果ps,但還不夠好:

  • 有些行不包含完整路徑(顯然是因為它們不是使用完整路徑啟動的)。
  • 可執行檔名稱後面的額外資料(我需要支援名稱中帶有空格的可執行文件,所以我不能只拆分字串)

因此,我得出的結論是,這ps不會讓我一路走下去。

是否有相當於 Linux 的 /proc,其中 /proc/{pid}/exe 指向執行檔?如果沒有,還有其他方法可以實現這一點嗎?

先謝,

答案1

pfiles <pid>可以列出可執行檔的完整路徑。

例子:

片段來自UNIX95=1 ps -efo pid,comm

 1666 cimprovagt

現在讓我們運行pfiles 1666

1666:                   /opt/wbem/lbin/cimprovagt
0: S_ISCHR mode:666 dev:64,3 ino:124 uid:2 gid:2 rdev:3,2
flags = O_RDONLY|O_LARGEFILE
file  = /dev/null

第一行顯示可執行檔的完整路徑。這對於我的目的來說已經足夠了。

相關內容