Si je peux voir un processus s'exécuter à l'aide de ps -e
, comment puis-je trouver le fichier qui l'a lancé?
process
executable
ps
interstar
la source
la source
Réponses:
Sous Linux: si vous connaissez le PID, vous pouvez attraper le fichier cmdline pour ce fichier. Par exemple:
Cela échouera probablement si le binaire a été déplacé après le démarrage du programme.
Et bien sûr:
et:
qui est un lien symbolique vers l'exécutable.
la source
/proc/PID/cmdline
n'a pas de caractère de nouvelle ligne, donc vous voudrez probablement faire quelque chose commecat /proc/PID/cmdline ; echo ''
.tr '\0' ' ' < /proc/PID/cmdline ; echo ''
Copiez l'ID de processus à partir de la
ps -e
commande, puis exécutez ce qui suit:la source
Aucune des méthodes (
ls
,lsof
oucat
) des autres réponses ne fonctionne pour moi. Si je fais:Ceci est mon gagnant ,:
Ou, afin d'obtenir uniquement le PID pour l'utiliser dans la programmation:
Testé sur Kali Linux v1.0.6 (basé sur Debian).
Comparé à un simple
ls
, je dois admettre que ce n'est pas une solution aussi portable, mais au moins ça marche.la source