Linux / Commande w : examiner les sessions et leur activité

w affiche les utilisateurs connectés avec leur terminal, leur temps d'inactivité et une commande associée à chaque session. Il ajoute aussi un résumé du système, dont la durée de fonctionnement et les moyennes de charge. Utilisez-le pour une vue rapide de l'activité des sessions, pas comme une liste complète des processus.

Les exemples concernent w de procps-ng sous Linux. Les colonnes, les options disponibles et les sources de sessions peuvent varier selon la version et la configuration de la distribution. Vérifiez man w et w --help sur la machine étudiée.

Afficher les sessions et comprendre le résumé

w

L'en-tête présente normalement l'heure courante, le temps écoulé depuis le démarrage, le nombre d'utilisateurs connectés et les moyennes de charge sur 1, 5 et 15 minutes. Ces valeurs décrivent le système observé, pas seulement l'activité du terminal qui lance w.

Les lignes suivantes décrivent les sessions trouvées. Voici un extrait fictif d'un affichage qui inclut la colonne d'origine distante FROM ; ce n'est pas une sortie universelle à attendre :

USER  TTY   FROM        LOGIN@  IDLE  JCPU   PCPU   WHAT
alice pts/0 192.0.2.10  09:00   2:10  0.01s  0.01s  vim notes.txt

Le compte alice et l'adresse sont des valeurs d'exemple. Les noms de terminaux, les formats des durées et la largeur des colonnes dépendent de l'environnement. Commencez par lire l'en-tête de votre propre sortie avant d'interpréter une position de colonne.

Lire IDLE, WHAT, JCPU et PCPU

Champ Interprétation
USER Compte associé à la session.
TTY Terminal de cette session.
FROM Origine distante, lorsque cette colonne est affichée.
LOGIN@ Heure de connexion selon le format de l'outil.
IDLE Durée d'inactivité du terminal selon les informations disponibles.
JCPU Temps CPU des processus attachés au terminal, dans le périmètre décrit par procps-ng.
PCPU Temps CPU du processus courant indiqué dans WHAT.
WHAT Ligne de commande du processus retenu pour représenter l'activité courante.

JCPU inclut les travaux d'arrière-plan encore en cours liés au terminal, mais pas tous les travaux passés d'arrière-plan. PCPU porte sur le processus nommé dans WHAT. Ces champs sont des temps de CPU de périmètres différents ; ils ne doivent pas être interprétés comme deux mesures interchangeables.

Une session dont le terminal est inactif peut laisser des traitements fonctionner. De même, WHAT n'affiche qu'une vue de l'activité retenue à cet instant et ne liste pas tous les processus du compte. Pour analyser un processus précis ou l'ensemble du système, complétez cette vue avec un outil de processus tel que ps ou top.

Filtrer un compte ou simplifier la présentation

Pour limiter les lignes à un compte donné, remplacez alice par un compte pertinent sur votre machine :

w alice

Cette option sélectionne les sessions correspondantes ; elle ne lance rien sous l'identité d'alice et ne change pas vos permissions. Un compte sans session visible peut ne produire aucune ligne de session.

Pour conserver les lignes de session sans les en-têtes :

w -h

-h désactive l'en-tête ; ce n'est pas une demande d'aide. Pour un format court avec procps-ng :

w -s

Le format court omet l'heure de connexion ainsi que JCPU et PCPU. Il peut faciliter une lecture rapide, mais ces informations ne sont alors plus disponibles dans les colonnes affichées.

Contrôler la colonne d'origine et les limites des sessions

Avec procps-ng, -f bascule l'affichage de FROM. C'est une bascule, pas une garantie d'activation identique sur tous les systèmes : la présence de la colonne par défaut peut dépendre de la compilation et de la distribution.

w -f

L'option -i demande une adresse IP au lieu d'un nom dans la colonne d'origine lorsque le mécanisme utilisé le permet. Les versions utilisant libsystemd peuvent ignorer cette option et afficher l'origine fournie par cette bibliothèque. Vérifiez la documentation de votre version avant de supposer qu'un nom sera toujours converti en IP.

Selon la version et la plateforme, w utilise les sessions systemd ou les enregistrements utmp, puis des informations de processus. Dans un conteneur ou une session qui ne fournit pas ces données, la liste peut être vide ou incomplète. Une absence dans w ne démontre pas à elle seule l'absence d'activité.

Les temps d'inactivité peuvent aussi être inexacts pour certains types de sessions graphiques. Si la valeur ne correspond pas à ce que vous observez, vérifiez le type de session et les limites documentées de l'implémentation plutôt que de conclure immédiatement que l'utilisateur ne travaille pas.

Choisir la vue correspondant à la question

Pour une liste simple de comptes, terminaux et heures de connexion enregistrés, utilisez who. Pour associer une activité et des temps aux sessions, w est plus détaillé. Pour connaître le compte effectif de votre propre processus, utilisez whoami ; pour ses identifiants et groupes, utilisez id.

Si une session ou un traitement manque à la vue, complétez avec les données du service et les outils de processus adaptés. Aucune de ces commandes ne remplace à elle seule une analyse complète des connexions et des autorisations. Le manuel de w de procps-ng précise les colonnes, les sources de sessions et les restrictions des options.