Vous connaissez la commande "pwd", n'est-ce pas ? La commande pwd (signifie P renvoyer W travailler D répertoire) est utilisé pour imprimer le répertoire de travail courant. Qu'en est-il de "pwdx" ? En avez-vous déjà utilisé ou entendu parler ? Non? Aucun problème! La commande pwdx sert à signaler le répertoire de travail courant d'un processus. Dans ce guide, nous verrons comment trouver le répertoire de travail actuel d'un processus à l'aide de la commande pwdx sous Linux.
Rechercher le répertoire de travail actuel d'un processus utilisant Pwdx sous Linux
L'utilisation générale de la commande pwdx est donnée ci-dessous :
$ pwdx <PID>
Pour les besoins de ce guide, nous trouverons le répertoire de travail de firefox processus.
Tout d'abord, nous devons trouver l'ID de processus de Firefox. Pour ce faire, utilisez la commande "ps" comme ci-dessous :
$ pgrep firefox 5238
Le PID de firefox est 5238. Maintenant, découvrez le répertoire de travail du PID 5238 comme ci-dessous :
$ pwdx 5238
Exemple de résultat :
5238: /home/sk
Alternativement, vous pouvez combiner les deux commandes en une seule commande et trouver le répertoire de travail actuel du processus firefox comme ci-dessous :
$ pwdx $(pgrep firefox)
Comme vous pouvez le voir, le répertoire de travail actuel du processus firefox est /home/sk . De cette façon, nous pouvons facilement savoir sur quel répertoire un processus est en cours d'exécution ! Veuillez noter que ces commandes n'affichent pas d'où un processus a été appelé, seulement où il se trouve actuellement.
Si vous souhaitez imprimer le répertoire courant de plusieurs processus, mentionnez les PID séparés par des espaces comme ci-dessous :
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
Pour plus de détails, consultez les pages de manuel.
$ man pwdx
Trouvez le répertoire de travail actuel d'un processus Linux à l'aide des commandes ls, lsof et readlink
Si pwdx n'est pas disponible pour une raison quelconque, les commandes suivantes peuvent vous permettre d'obtenir le répertoire de travail des processus Linux :
- ls
- lsof
- lire le lien
Tout d'abord, trouvez le PID du processus avec la commande pgrep :
$ pgrep firefox 5238
Ensuite, recherchez le répertoire de travail actuel du processus à l'aide de la commande "ls" comme ci-dessous :
$ ls -l /proc/5238/cwd
Ici, cwd indique le répertoire de travail actuel.
Exemple de résultat :
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
Pour connaître le répertoire de travail actuel du processus firefox à l'aide de la commande "lsof", exécutez :
$ lsof -p 5238 | grep cwd
Alternativement, combinez les deux commandes et obtenez le résultat avec le one-liner suivant :
$ lsof -p $(pgrep firefox) | grep cwd
Exemple de résultat :
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
Découvrez le répertoire de travail actuel du processus firefox à l'aide de la commande "readlink", exécutez :
$ readlink -e /proc/5238/cwd/ /home/sk
Reportez-vous aux pages de manuel pour plus de détails :
$ man ls
$ man lsof
$ man readlink
J'espère que cela vous aidera.
Lire connexe :
- Comment savoir depuis combien de temps un processus s'exécute sous Linux
- Comment modifier la priorité d'un processus sous Linux
- Comment afficher les informations de processus à l'aide de Procs sous Linux