Wie kann ich herausfinden, in welchem ​​Ordner ein Prozess ausgeführt wird?


Antworten:



7

Abgeleitet von HUB's Antwort:

readlink /proc/<PID>/cwd

oder auch

readlink /proc/$(pgrep <program_name>)/cwd

+1 Die Ausgabe von readlinkkann in einem Skript besser analysiert werden.
Marco Leogrande

2

Sie können nicht sagen , wo ein Prozess aufgerufen wurde aus , wo es nur noch ist . Schauen Sie auf den cwdLink ("aktuelles Arbeitsverzeichnis") anstatt exe.



1

Ich denke, dieser Befehl sollte funktionieren. Es ist eine kleine Problemumgehung, funktioniert aber zumindest auf meinem Computer.

für strlist in $ (ps e PID): do if [$ {strlist: 0: 4} = "PWD ="]; dann echo $ {strlist: 4}; fi; done


0

Als ich rannte

ps auxwwwe | grep executableName > dump
vim dump

Ich konnte nach dem Teil des Pfades suchen, den ich kannte, und dann herausfinden, aus welchem ​​Unterverzeichnis der Befehl aufgerufen wurde

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.