Risposte:
Hai diverse possibilità. Quelli che mi vengono in mente immediatamente si basano tutti sull'idea di eseguire periodicamente il w
comando (quindi, a rigor di termini, non sono monitor in tempo reale, ma top aggiorna anche i processi attuali solo periodicamente):
Basato su shell (sintassi bash)
Ciclo infinito che viene eseguito w
ogni secondo:
while true; do
clear
w
sleep 1
done
Esiste anche un programma dedicato a tale scopo, chiamato watch
:
watch -n 1 "w"
Mentre le possibilità 1 e 2 di solito funzionano immediatamente su un sistema GNU / Linux standard, esiste anche un programma chiamato multitail
. Sebbene in primo luogo progettato per un altro scopo,
Il programma MultiTail ti consente di visualizzare uno o più file come il programma di coda originale. La differenza è che crea più finestre sulla tua console (con ncurses). Può anche monitorare i caratteri jolly: se un altro file corrispondente al carattere jolly ha una data di modifica più recente, passerà automaticamente a quel file.
può anche eseguire periodicamente un programma:
multitail -r 1 -l "w"
Entrambi, watch
e multitail
possono anche evidenziare le differenze rispetto alla corsa precedente, controlla le pagine man per le opzioni corrispondenti (e molto altro).
eol="$(tput el)";clear; while true ; do w | sed -re "s/^(.*)$/$eol \1 /" ;sleep 1 ; tput home ; done
- una variante per la prima sopra.
L'ultimo comando agisce leggendo / var / log / wtmp. È possibile impostare un orologio su di esso mediante inotifywait (parte del pacchetto * inotify-tools) come segue:
while inotifywait -e close_write /var/log/wtmp ; do /path/to/executable/script; done
dove / path / to / eseguibile / script è uno script (reso eseguibile dallo script chmod 755 ) che farà qualche azione molto evidente per attirare la tua attenzione, vedi qui per alcuni suggerimenti.