Le format ps comm coupe toujours le nom du processus

2

J'essaie d'invoquer ps -o comm:1024 --pid 1391 --cols 1024 -wdans l'espoir d'obtenir le nom complet du processus (et seulement celui-là), mais je finis toujours par ceci

COMMAND
notification-ar

tandis que le nom du processus est à la place notification-area-applet. J'ai aussi essayé toutes les combinaisons de -w, --cols et: formateur. cmd et args donnent le chemin complet et les arguments du processus. Je pourrais peut-être obtenir le nom du processus à partir de ceux-ci, mais quand même ...

Stefano Borini
la source

Réponses:

5

Le commchamp (également /proc/$pid/comm) est limité par le noyau à 16 octets au total (15 caractères + octet NUL de fin).

Si le système est Linux et que vous possédez le processus (ou êtes root), vous pouvez obtenir le chemin du fichier exécutable en suivant /proc/$pid/exela readlinkcommande.

Sinon, vous devrez utiliser le cmdchamp (alias args, command). Sous Linux, il provient de /proc/$pid/cmdline(qui est séparé de NUL), vous pouvez donc également l'utiliser cut -d "" -f 1 /proc/$pid/cmdline.

Méfiez - vous que les deux cmdline et commpeut être modifiée par le processus lui - même.

Grawity
la source