Estou tentando descobrir um processo que monitore as sessões dos usuários em um servidor remoto e os avise quando estiverem ociosos por muito tempo, o que com o comando Linux w
é apropriado.
O problema é - w
usa três formatos diferentes para especificar o tempo ocioso da sessão e não consigo descobrir corretamente. Uma saída de w
pode ser assim:
11:40:57 up 400 days, 10:46, 13 users, load average: 5.07, 5.10, 4.83
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
john pts/1 XX.XX.XX.XX Wed13 22:29m 0.13s 0.04s ssh master-db
june pts/2 XX.XX.XX.XX Wed13 46.00s 0.67s 0.13s -bash
jenn pts/4 XX.XX.XX.XX 11:13 27:47 4.16s 0.11s -bash
Como você pode ver, o IDLE possui formatos diferentes para cada um dos usuários:
- "AA.BBs" obviamente significa que segundos de AA e 1/100 de BB de segundo (46 segundos no caso de junho) se passaram desde a última vez em que ela esteve ativa no console.
- "AA: BBm" provavelmente significa que horas e minutos de AA se passaram desde que John esteve ativo pela última vez em sua sessão.
- "AA: BB" é o formato que não consigo entender - há quanto tempo Jennifer não está ativa em sua sessão?