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,comm
kann 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 ps
ich 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.