Wenn ich sehe, dass ein Prozess mit ausgeführt wird ps -e
, wie kann ich die Datei finden, die ihn gestartet hat?
process
executable
ps
Interstar
quelle
quelle
Antworten:
Unter Linux: Wenn Sie die PID kennen, können Sie die cmdline-Datei für diese Datei katzen. Z.B:
Dies wird wahrscheinlich fehlschlagen, wenn die Binärdatei nach dem Start des Programms verschoben wurde.
Und natürlich:
und:
Dies ist eine symbolische Verknüpfung zur ausführbaren Datei.
quelle
/proc/PID/cmdline
es keinen Zeilenumbruch gibt, daher möchten Sie wahrscheinlich so etwas tuncat /proc/PID/cmdline ; echo ''
.tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Kopieren Sie die Prozess-ID vom
ps -e
Befehl und führen Sie dann Folgendes aus:quelle
Keine der Methoden (
ls
,lsof
odercat
) in den anderen Antworten arbeitet für mich. Wenn ich mache:Das ist mein Gewinner:
Oder um nur die PID zu erhalten, um sie bei der Programmierung zu verwenden:
Getestet unter Kali Linux v1.0.6 (Debian-basiert).
Im Vergleich zu einer einfachen
ls
muss ich zugeben, dass es keine so tragbare Lösung ist, aber zumindest funktioniert es.quelle