Trouver le nom de fichier d'un processus à partir de son PID?

5

J'essaie de déterminer quel programme permet de supprimer l'indicateur de réseau :

$ nm-applet
** Message: applet now removed from the notification area
** Message: PID 31340 (we are 28924) sent signal 15, shutting down...

Les PID changent à chaque fois. Est-il possible d'utiliser ce PID pour trouver le nom du processus qui l'arrête?

    
posée Zelda64fan 08.04.2013 - 22:52
la source

1 réponse

6

Si le PID 31340, un simple ps uww 31340 vous le dira. ls -l /proc/31340 vous montrera plus d'informations, par exemple /proc/31340/exe est un lien symbolique vers l'exécutable du programme au cas où le nom ne suffirait pas.

Si le PID 31340 ne fonctionne plus, il est trop tard sauf si vous avez installé un logiciel de journalisation.

Le logiciel de journalisation le plus simple pour ce travail est acct . Installez simplement le paquet et il commencera à enregistrer le nom de tous les processus. La prochaine fois que vous voulez en savoir plus sur certains PID passés, exécutez

sudo dump-acct /var/log/account/pacct | grep 31340

Pour une correspondance plus précise du dernier processus ayant ce PID, vous pouvez utiliser cette incantation:

sudo dump-acct /var/log/account/pacct | awk -F '|' ' ~ /^ *31340 / {print; quit}'
    
réponse donnée Gilles 08.04.2013 - 23:21
la source

Lire d'autres questions sur les étiquettes