Linux - Finden Sie das aktuelle Arbeitsverzeichnis eines Prozesses heraus?
11
Wenn ich eine Prozess-PID X habe, wie kann ich herausfinden, in welchem Verzeichnis sie ausgeführt wurde? Ich kann mit ps aux | grep Xder vollständigen Befehlszeile sehen, mit der es aufgerufen wurde. In diesem Fall ist es jedoch so ./script.sh, und ich möchte sehen, welches script.shläuft.
Das Problem dabei /proc/PID/exeist, dass bei Shell-Skripten die Position der Shell angezeigt wird. Das Problem dabei /proc/PID/cwdist, dass das aktuelle Arbeitsverzeichnis des Prozesses angezeigt wird. Wenn der Prozess Verzeichnisse ändert, spiegelt sich dies im Ziel dieses Symlinks wider.
Dies zeigt, was der $ PWD zum Zeitpunkt des Starts des Skripts war (ersetzen Sie die Prozess-ID, an der Sie interessiert sind, wo "PID" angezeigt wird):
Es gibt eine einfachere Antwort, und diese ist zu verwenden
pwdx
, wie hier beschriebenquelle