Sie kennen den Befehl "pwd", nicht wahr? Der Befehl pwd (steht für P gib W zurück orking D irectory) wird verwendet, um das aktuelle Arbeitsverzeichnis zu drucken. Was ist mit "pwdx"? Haben Sie es jemals benutzt oder davon gehört? Nein? Kein Problem! Der Befehl pwdx wird verwendet, um das aktuelle Arbeitsverzeichnis eines Prozesses zu melden. In diesem Handbuch erfahren Sie, wie Sie das aktuelle Arbeitsverzeichnis eines Prozesses mit dem Befehl pwdx in Linux finden.
Aktuelles Arbeitsverzeichnis eines Prozesses finden, der Pwdx in Linux verwendet
Die allgemeine Verwendung des pwdx-Befehls ist unten angegeben:
$ pwdx <PID>
Für die Zwecke dieser Anleitung finden wir das Arbeitsverzeichnis von Firefox verarbeiten.
Zuerst müssen wir die Prozess-ID des Firefox finden. Verwenden Sie dazu den Befehl "ps" wie folgt:
$ pgrep firefox 5238
Die PID von Firefox ist 5238. Finden Sie nun das Arbeitsverzeichnis der PID 5238 wie folgt heraus:
$ pwdx 5238
Beispielausgabe:
5238: /home/sk
Alternativ können Sie beide Befehle zu einem einzigen Befehl kombinieren und das aktuelle Arbeitsverzeichnis des Firefox-Prozesses wie folgt finden:
$ pwdx $(pgrep firefox)
Wie Sie sehen können, ist das aktuelle Arbeitsverzeichnis des Firefox-Prozesses /home/sk . Auf diese Weise können wir leicht herausfinden, auf welchem Verzeichnis gerade ein Prozess läuft! Bitte beachten Sie, dass diese Befehle nicht anzeigen, von wo aus ein Prozess aufgerufen wurde, sondern nur, wo er sich gerade befindet.
Wenn Sie das aktuelle Verzeichnis mehrerer Prozesse drucken möchten, geben Sie die PIDs wie folgt durch Leerzeichen getrennt an:
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
Weitere Einzelheiten finden Sie in den Manpages.
$ man pwdx
Finden Sie das aktuelle Arbeitsverzeichnis eines Linux-Prozesses mit den Befehlen ls, lsof und readlink
Wenn pwdx aus irgendeinem Grund nicht verfügbar ist, können Sie mit den folgenden Befehlen das Arbeitsverzeichnis von Linux-Prozessen abrufen:
- ls
- lsof
- Leselink
Suchen Sie zuerst die PID des Prozesses mit dem Befehl pgrep:
$ pgrep firefox 5238
Suchen Sie als Nächstes das aktuelle Arbeitsverzeichnis des Prozesses mit dem Befehl "ls" wie unten:
$ ls -l /proc/5238/cwd
Hier zeigt cwd das aktuelle Arbeitsverzeichnis an.
Beispielausgabe:
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
Um das aktuelle Arbeitsverzeichnis des Firefox-Prozesses mit dem Befehl „lsof“ herauszufinden, führen Sie Folgendes aus:
$ lsof -p 5238 | grep cwd
Kombinieren Sie alternativ beide Befehle und erhalten Sie das Ergebnis mit dem folgenden Einzeiler :
$ lsof -p $(pgrep firefox) | grep cwd
Beispielausgabe:
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
Finden Sie das aktuelle Arbeitsverzeichnis des Firefox-Prozesses mit dem Befehl „readlink“ heraus, führen Sie Folgendes aus:
$ readlink -e /proc/5238/cwd/ /home/sk
Siehe Manpages für Details:
$ man ls
$ man lsof
$ man readlink
Hoffe, das hilft.
Verwandte Lektüre:
- Wie man herausfindet, wie lange ein Prozess unter Linux läuft
- So ändern Sie die Priorität eines Prozesses in Linux
- So zeigen Sie Prozessinformationen mit Procs unter Linux an