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

834
Per

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

Etwas wie das:

1234 / full / path / to / ausführbar 4567 / full / path / to / executable2 

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

11146 / opt / wbem / lbin / cimprovagt 0 4 8 root IOTreeModule 8338 / opt / ssh / libexec / sftp-server 16684 postgres: sfmdb evweb [local] 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 

Dies ist so nahe, dass ich es geschafft habe, es zu benutzen ps, aber es ist nicht gut genug:

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

Ich bin zu dem Schluss gekommen, dass psich den ganzen Weg nicht kriege.

Gibt es ein Äquivalent zu Linux / proc, wo / proc / / exe auf die ausführbare Datei verweist? Wenn nicht, gibt es einen anderen Weg, dies zu erreichen?

Danke im Voraus,

1

1 Antwort auf die Frage

0
Per

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

Beispiel:

Ausschnitt aus UNIX95=1 ps -efo pid,comm

 1666 cimprovagt 

Jetzt können wir rennen 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 

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