Réponses:
Le problème /proc/PID/exeest que, pour les scripts shell, il indique l'emplacement du shell. Le problème avec /proc/PID/cwdest qu'il affiche le répertoire de travail actuel du processus. Si le processus change de répertoire, cela se reflète dans la cible de ce lien symbolique.
Cela montrera ce qu'était $ PWD au moment du démarrage du script (remplacez l'ID de processus qui vous intéresse par où vous voyez "PID"):
procdir=$(grep -az "\bPWD" /proc/PID/environ); echo $procdir
ou simplement:
grep -az "\bPWD" /proc/PID/environ
Cela montrera la commande qui l'a démarrée afin que vous puissiez voir si un répertoire relatif ou absolu a été utilisé:
proccmd=$(grep -az PROC_NAME /proc/PID/cmdline); echo $proccmd
ou simplement:
grep -az PROC_NAME /proc/PID/cmdline
Ensemble, ceux-ci devraient vous montrer quel script est en cours d'exécution. Car on a commencé avec ./tout ce dont vous avez besoin procdir.