Próbuję wymyślić proces, który monitoruje sesje użytkowników na zdalnym serwerze i ostrzega ich, gdy są zbyt długo bezczynne, co w przypadku polecenia Linux w
jest odpowiednie.
Problem w tym, że - w
używa 3 różnych formatów, aby określić czas bezczynności sesji i nie mogę ich poprawnie rozgryźć. Dane wyjściowe w
mogą wyglądać następująco:
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
Jak widać, IDLE ma różne formaty dla każdego z użytkowników:
- „AA.BBs” oczywiście oznacza, że minęły sekundy AA i BB 1/100 sekundy (46 sekund w przypadku czerwca), odkąd ostatnio była aktywna na konsoli.
- „AA: BBm” prawdopodobnie oznacza, że minęły godziny AA i minuty BB od czasu ostatniej aktywności Johna w jego sesji.
- „AA: BB” to format, którego nie potrafię rozgryźć - jak długo Jennifer nie jest aktywna w swojej sesji?
w
są inne niż znaczniki czasowe/dev/pts
plików. jakiś pomysł dlaczego?watch
.Odpowiedź to 27 minut i 47 sekund
źródło