lunedì 19 novembre 2007

Che cosa fanno i miei utenti? (w)

Un comando molto poco conosciuto da chi usa Unix come workstation è w. Esatto, un solo carattere! Sostanzialmente questo minuto (almeno nella sintassi base) comando serve a rispondere alla domanda: "che cosa stanno facendo gli utenti attualmente connessi al sistema?". Domanda che certo si fanno molto spesso gli amministratori di sistemi "multiutenza", che sicuramente conoscono il comando.

Anche se ad un utente Home-Desktop il comando w può sembrare pressochè inutile vale comunque la pena ricordarlo.
Bisogna ricordarsi che Unix è un sistema fortemente portato alla multiutenza e viene usato, ancora oggi, su macchine sulle quali molti utenti possono lavorare contemporaneamete. Il sistema di login di Unix infatti non serve soltanto a gestire utenti diversi, quindi con profili e privilegi diversi, che possono accedere alla macchina in tempi diversi, come avviene in altri sistemi.
Ora, in un contesto simile, ad un amministratore un comando come w può tornare molto utile.

Passiamo alla pratica:
La sintassi più semplice di who è quella senza nessuna opzione o parametro.
mesillo@stellascura:~$ w
17:55:44 up 58 min, 2 users, load average: 0,08, 0,10, 0,09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
mesillo :0 - 16:58 ?xdm? 1:21m 0.29s x-session-manager
mesillo pts/0 :0.0 17:30 0.00s 0.00s 0.00s w
In questo modo otteniamo la lista di tutti gli utenti connessi attualmente alla macchina. Andiamo con ordine ed analizziamo la prima righa (detta anche header).
  • ora attuale
  • tempo da cui il sistema è avviato
  • numero di utenti connessi
  • carico medio del sistema nell'ultimo minuto
  • carico medio del sistema negli ultimi cinque minuti
  • carico medio del sistema nell'ultimo quarto d'ora
Segue una riga che riassume il significato delle colonne sottostanti.
Poi arrivano i dati salienti.
  • nome dell'utente (o meglio login-name)
  • terminale a cui è connesso
  • host da cui è connesso
  • l'ora in cui si è connesso
  • tempo di inattività (indicativamente da quanto tempo non preme un tasto)
  • tempo di tutti i processi agganciati al terminale in questione (seconda colonna), compresi quelli in background attivi.
  • tempo del processo in esame (colonna successiva what)
  • comando dato per avviare il processo in esame (eg: ls -l pippo/)
Esistono anche delle opzioni e parametri che w accetta, la più semplice è l'username.
Quindi, se io volessi vedere solo le informazioni relative all'utente "pippo" dovrei dare un comando del tipo:
:~$w pippo
Utile se ho molti utenti connessi.
Per una lista completa delle opzioni vi rimando alla pagina di manuale di w.
:~$man w
Una opzione in particolare però và citata per una sua particolarità; -f. Infatti questa opzione dovrebbe servire a visualizzare, nell'output, la colonna FROM (terza). Questa colonna in certi casi, dipende da come è stato compilato w nel vostro sistema, è sempre presente nell'output di "default". Se il vostro w è così fatto (eg.: Debian etch) l'opzione -f sarà comunque ritenuta valida ma non sortirà nessun effetto (ovviamente!).

Adesso non vi resta che giocare un poco con w.

Nessun commento:

Posta un commento