Wie liste ich unter HPUX den vollständigen Pfad zur ausführbaren Datei für alle laufenden Prozesse auf?

Wie liste ich unter HPUX den vollständigen Pfad zur ausführbaren Datei für alle laufenden Prozesse auf?

Was ich brauche: Eine Liste aller aktuell ausgeführten ausführbaren Dateien mit ihrem vollständigen Pfad.

Etwas wie das:

1234 /vollständiger/Pfad/zur/ausführbaren Datei
4567 /vollständiger/Pfad/zur/ausführbaren Datei2

Mit UNIX95= ps -exo pid,commkann ich eine Liste mit PIDs und den Befehlen wie folgt erhalten

11146 /opt/wbem/lbin/cimprovagt 0 4 8 Wurzel IOTreeModul
8338 /opt/ssh/libexec/sftp-server
16684 postgres: sfmdb evweb [lokal] im Leerlauf
2518 /usr/sbin/stm/uut/bin/tools/monitor/WbemWrapperMonitor
2264 /usr/sbin/psb/bin/diagtxd
8340 -sh
7772 sshd: root@pts/0
8333 sshd: root@pts/1
7777 /opt/ssh/libexec/sftp-server

So nah bin ich mit herangekommen ps, aber es ist nicht gut genug:

  • Einige Zeilen enthalten nicht den vollständigen Pfad (offenbar, weil sie nicht mit dem vollständigen Pfad begonnen werden).
  • Zusätzliche Daten nach dem Namen der ausführbaren Datei (ich muss ausführbare Dateien mit Leerzeichen im Namen unterstützen, daher kann ich die Zeichenfolge nicht einfach aufteilen)

Daher bin ich zu dem Schluss gekommen, dass psich damit nicht weiterkomme.

Gibt es ein Äquivalent zu /proc unter Linux, wo /proc/{pid}/exe auf die ausführbare Datei verweist? Wenn nicht, gibt es eine andere Möglichkeit, dies zu erreichen?

Dank im Voraus,

Antwort1

pfiles <pid>kann den vollständigen Pfad zur ausführbaren Datei auflisten.

Beispiel:

Ausschnitt ausUNIX95=1 ps -efo pid,comm

 1666 cimprovagt

Jetzt lass uns laufenpfiles 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

Die erste Zeile zeigt den vollständigen Pfad zur ausführbaren Datei. Das ist für meine Zwecke ausreichend.

verwandte Informationen