Conoces el comando "pwd", ¿no? El comando pwd (significa P resentido W trabajando D irectory) se utiliza para imprimir el directorio de trabajo actual. ¿Qué pasa con "pwdx"? ¿Alguna vez lo has usado o has oído hablar de él? ¿No? ¡No hay problema! El comando pwdx se usa para informar el directorio de trabajo actual de un proceso. En esta guía, veremos cómo encontrar el directorio de trabajo actual de un proceso usando el comando pwdx en Linux.
Encuentre el directorio de trabajo actual de un proceso usando Pwdx en Linux
El uso general del comando pwdx se indica a continuación:
$ pwdx <PID>
A los efectos de esta guía, encontraremos el directorio de trabajo de firefox proceso.
Primero, necesitamos encontrar el ID de proceso del firefox. Para hacerlo, use el comando "ps" como se muestra a continuación:
$ pgrep firefox 5238
El PID de Firefox es 5238. Ahora, busque el directorio de trabajo del PID 5238 como se muestra a continuación:
$ pwdx 5238
Salida de muestra:
5238: /home/sk
Alternativamente, puede combinar ambos comandos como un solo comando y encontrar el directorio de trabajo actual del proceso de Firefox como se muestra a continuación:
$ pwdx $(pgrep firefox)
Como puede ver, el directorio de trabajo actual del proceso de Firefox es /home/sk . ¡De esta manera podemos averiguar fácilmente en qué directorio se está ejecutando un proceso actualmente! Tenga en cuenta que estos comandos no muestran desde dónde se invocó un proceso, solo dónde se encuentra actualmente.
Si desea imprimir el directorio actual de varios procesos, mencione los PID separados por espacios como se muestra a continuación:
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
Para obtener más detalles, consulte las páginas man.
$ man pwdx
Encuentre el directorio de trabajo actual de un proceso Linux usando los comandos ls, lsof y readlink
Si pwdx no está disponible por algún motivo, los siguientes comandos pueden proporcionarle el directorio de trabajo de los procesos de Linux:
- ls
- lsof
- leer enlace
Primero, busque el PID del proceso con el comando pgrep:
$ pgrep firefox 5238
A continuación, busque el directorio de trabajo actual del proceso usando el comando "ls" como se muestra a continuación:
$ ls -l /proc/5238/cwd
Aquí, cwd indica el directorio de trabajo actual.
Salida de muestra:
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
Para averiguar el directorio de trabajo actual del proceso de Firefox usando el comando "lsof", ejecute:
$ lsof -p 5238 | grep cwd
Alternativamente, combine ambos comandos y obtenga el resultado con la siguiente línea:
$ lsof -p $(pgrep firefox) | grep cwd
Salida de muestra:
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
Descubra el directorio de trabajo actual del proceso de Firefox usando el comando "readlink", ejecute:
$ readlink -e /proc/5238/cwd/ /home/sk
Consulte las páginas del manual para obtener más información:
$ man ls
$ man lsof
$ man readlink
Espero que esto ayude.
Lectura relacionada:
- Cómo averiguar cuánto tiempo ha estado ejecutándose un proceso en Linux
- Cómo cambiar la prioridad de un proceso en Linux
- Cómo mostrar la información del proceso mediante Procs en Linux