Linux 'w' komutunun çıkışındaki “IDLE” sütununu nasıl okuyabilirim?


11

Uzak bir sunucudaki kullanıcı oturumlarını izleyen ve çok uzun süre boşta kaldıklarında onları uyaran bir işlemi anlamaya çalışıyorum, Linux komutuyla wuygun.

Sorun - woturumun boşta kalma süresini belirtmek için 3 farklı formatlar kullanır ve ben düzgün anlayamıyorum. Çıktısı wşöyle görünebilir:

 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

Gördüğünüz gibi, IDLE'nin her kullanıcı için farklı biçimleri vardır:

  • "AA.BBs" açıkça konsolda son aktif olduğu için AA saniye ve saniyenin 1/100 BB (Haziran durumda 46 saniye) geçti anlamına gelir.
  • "AA: BBm" muhtemelen John'un oturumunda son etkinliğinden bu yana AA saatlerinin ve BB dakikalarının geçtiğini ifade eder.
  • "AA: BB" bulamadığım biçim - Jennifer oturumunda ne kadar süredir aktif değil?

Yanıtlar:


4

Bir niteleyici olmadan, MM: SS - yani dakika ve tam saniye anlamına gelir. Ek bir bonus olarak, bu çıktıda sahip olmadığınız dördüncü bir format var - birkaç gün (NNdays) hareketsizlik.


10

Man sayfasından

Süreler sırasıyla 2 gün, 1 saat veya 1 dakikadan fazlaysa standart biçim DDdays, SS: AA, MM: SS veya SS'dir.

yani çıktınız MM: SS (> 1m ve <1 saat).


1

Sorunuzun cevabı tam olarak değil, giriş oturumlarının boşta kalma süresini kontrol etmek için daha kolay bir yaklaşım / dev / pts'ye bakmak olacaktır. Buradaki dosyaların değiştirme süreleri, oturum açma oturumunun en son girdi alma zamanını yansıtır.

Burada stat işlemleri yapabilmeniz gerekir (örneğin, stat --format = "% n% X" *) ve her şeyi çağ saniye içinde tutabilirsiniz. Her zaman hesaplamayı kolaylaştırmalıdır.


1
Kendinizi zaman formatlarını ayrıştırırken bulursanız, zaman damgasındaki zaman damgasının kaynağını aramak isteyebilirsiniz.
cjc

1
Bununla ilgili bir şey okudum, ancak rapor edilen boş zamanların dosyalardaki wzaman damgalarından farklı olduğunu fark ettim /dev/pts. neden herhangi bir fikir?
Guss

Hangi bağlamda farklı? Buna dikkatle bakmadım, ama "w" bilgiyi bir yerden alıyor olmalı ve / dev / pts bariz bir yer. Ah, belki ekranda bir şey olursa (/ dev / pts / * iki yönlü iletişim olmalıdır); bu durumda, kullanıcı boşta kalır, ancak cihazda bir şey olması nedeniyle, örneğin / dev / pts / 0 güncellenir.
cjc

Bu olası bir açıklamadır ve şemamı yenecek - çünkü kullanıcı bazı aktif günlük dosyalarını kuyrukluyor veya kullanıyor olsa bile boş oturumları kapatmak istiyorum watch.
Guss

1

Cevap 27 dakika ve 47 saniye

  1. varsayılan biçim MM: SS şeklindedir.
  2. 22: 29m, 22 saat ve 29 dakika anlamına gelir
  3. 46.00 saniye 46 saniye demektir
  4. 4d 4 gün demektir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.