Sei a conoscenza del comando "pwd", vero? Il comando pwd (sta per P si è risentito W orking D directory) viene utilizzato per stampare la directory di lavoro corrente. Che dire di "pwdx"? Ne hai mai usato o sentito parlare? No? Nessun problema! Il comando pwdx serve per riportare la directory di lavoro corrente di un processo. In questa guida vedremo come trovare la directory di lavoro corrente di un processo usando il comando pwdx in Linux.
Trova la directory di lavoro corrente di un processo utilizzando Pwdx in Linux
L'uso generale del comando pwdx è riportato di seguito:
$ pwdx <PID>
Ai fini di questa guida, troveremo la directory di lavoro di firefox processo.
Innanzitutto, dobbiamo trovare l'ID del processo di Firefox. Per farlo, usa il comando "ps" come di seguito:
$ pgrep firefox 5238
Il PID di Firefox è 5238. Ora, scopri la directory di lavoro del PID 5238 come di seguito:
$ pwdx 5238
Risultato di esempio:
5238: /home/sk
In alternativa, puoi combinare entrambi i comandi come un unico comando e trovare la directory di lavoro corrente del processo Firefox come di seguito:
$ pwdx $(pgrep firefox)
Come puoi vedere, l'attuale directory di lavoro del processo Firefox è /home/sk . In questo modo possiamo scoprire facilmente in quale directory è attualmente in esecuzione un processo! Tieni presente che questi comandi non mostrano da dove è stato invocato un processo, ma solo dove si trova attualmente.
Se vuoi stampare la directory corrente di più processi, menziona i PID separati da spazi come di seguito:
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
Per maggiori dettagli, fare riferimento alle pagine man.
$ man pwdx
Trova la directory di lavoro corrente di un processo Linux usando i comandi ls, lsof e readlink
Se pwdx non è disponibile per qualsiasi motivo, i seguenti comandi possono ottenere la directory di lavoro dei processi Linux:
- ls
- lsof
- link di lettura
Innanzitutto, trova il PID del processo con il comando pgrep:
$ pgrep firefox 5238
Quindi, trova la directory di lavoro corrente del processo usando il comando "ls" come di seguito:
$ ls -l /proc/5238/cwd
Qui, cwd indica la directory di lavoro corrente.
Risultato di esempio:
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
Per scoprire la directory di lavoro corrente del processo Firefox utilizzando il comando "lsof", eseguire:
$ lsof -p 5238 | grep cwd
In alternativa, combina entrambi i comandi e ottieni il risultato con la seguente riga:
$ lsof -p $(pgrep firefox) | grep cwd
Risultato di esempio:
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
Scopri la directory di lavoro corrente del processo Firefox usando il comando "readlink", esegui:
$ readlink -e /proc/5238/cwd/ /home/sk
Fare riferimento alle pagine man per i dettagli:
$ man ls
$ man lsof
$ man readlink
Spero che questo aiuti.
Lettura correlata:
- Come scoprire da quanto tempo è in esecuzione un processo in Linux
- Come modificare la priorità di un processo in Linux
- Come visualizzare le informazioni di processo utilizzando Procs su Linux