Nom d'user complet en haut

Sur nos systèmes, les noms d'user peuvent comporter jusqu'à 20 caractères. Mais les commands top n'affiche que les 8 premiers caractères.

Comment puis-je configurer top pour afficher le nom d'user complet?

Pour l'instant nous utilisons: top procps version 3.2.8 (linux)

Mais une implémentation supérieure différente pourrait être installée.

Le système le plus ancien que nous devons soutenir est le suivant:

Linux foohost 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux

En regardant les sources de la partie top , il existe un maximum de 8 caractères codés en dur:

 1223 static FLD_t Fieldstab[] = { 1229 keys head fmts width scale sort desc lflg 1230 ------ ----------- ------- ------ ----- ----- ---------------------- -------- */ 1235 { "EeDd", " USER ", " %-8.8s", -1, -1, SF(URE), "User Name", L_EUSER }, 

La fmts fmts est une pritnf format pritnf . %-8.8s signifie string %-8.8s gauche de taille minimale et maximale de 8.

Il semble qu'il n'y ait actuellement aucun moyen de le faire comme vous le requestz avec les programmes de terminal. Ce que vous requestz n'est pas nouveau et est en fait sur la list des requests de fonctionnalités htop , mais il en a été ainsi pendant un an et demi et aucune étape n'a encore été fixée pour l'implémenter. Aucun signe de tout cela pour le top . 2 options pourraient être:

1) Deux terminaux

Vous pouvez dire en haut (par exemple, vous pouvez utiliser f comme il s'exécute) pour montrer l' UID pas le nom. Si vous avez fractionné votre terminal dans 2 champs, par exemple avec un terminator ou un screen vous pouvez exécuter le haut dans l'écran supérieur et searchr le nom d'user dans le bas, par exemple

 awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd 

en substituant n'importe quel UID que vous voulez regarder pour 1000. Bien sûr, vous pourriez l'envelopper dans un très petit script bash de sorte que vous devriez seulement taper quelques lettres du nom de votre script et de l'UID. De même, si vous parlez d'users non locaux, vous pouvez utiliser getent passwd comme input pour awk au lieu de / etc / passwd – comme ceci:

 getent passwd | awk -v val=1000 -F ":" '$3==val{print $1}' 

2) option ps

Vous pouvez utiliser ps pour vous donner la plupart des process lourds du CPU et à qui ils appartiennent. Vous pouvez varier le nombre de process bien sûr.

 ps -ef | egrep -v "STIME|$LOGNAME" | sort -k4 -r | head -n 15 | colrm 100 

Explication:

 ps -ef gives you all processes egrep -v "STIME|$LOGNAME" removes the header line sort -k4 -r sorts by the CPU column in reverse (biggest on top) head -n 15 gives you first 15 lines of above colrm 100 ressortingcts each line of output to 100 characters 

La dernière command est utile car certains programmes comme google chrome ont de très longues lignes d'options après la command, de sorte que votre sortie sera difficile à lire si vous ne coupez pas les lignes.

Ne peut pas vraiment vous aider avec les versions 3.2.x plus anciennes de procps, mais dans les plus récents (par exemple certainement 3.3.10 et je pense qu'il est returnné à 3.3.4), vous pouvez ajuster la taille des colonnes fixes. La key que vous cherchez est le capital X.

Pour utiliser cette fonctionnalité, commencez par le début. Idéalement, mais pas indispensable, vous «ferez de la place» pour votre colonne en retirant d'autres colonnes ou en agrandissant votre terminal. Utilisez f pour faire apparaître votre list de champs et déselect ce dont vous n'avez pas besoin. Une fois que vous êtes satisfait de la sélection du champ, appuyez sur q pour revenir à la list des process.

Ensuite, utilisez la command X qui vous request combien augmenter la largeur, généralement -1 fonctionne bien. Vous pourriez get cet étrange effet "colonne croissante" mais après quelques refontes, vous pourrez voir le nom d'user complet.

  PID USER PR VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3775 libvirt-qemu 20 4667404 960508 14724 S 6.1 5.9 188:04.01 qemu-syste+ 3825 Debian-gdm 20 1516152 114924 64404 S 2.7 0.7 1:52.09 gnome-shell 

Notez que le nom de la command est maintenant tronqué (se termine par un +) car notre nom d'user est plus long et a poussé les autres colonnes vers la droite. Que vous pensiez ou non cette bonne idée dépend de ce que vous searchz.