Kirjoittaja Aihe: idle-potkijaan parantelua.  (Luettu 1214 kertaa)

shamino

  • Käyttäjä
  • Viestejä: 4
    • Profiili
idle-potkijaan parantelua.
« : 29.05.09 - klo:17.04 »
Pitäisi LTSP-järjestelmään saada softa joka potkasee päätteen gnome-sessiolta jalat alta kun kone on ollut käyttämättömänä yli 15 minuuttia.
Väsäsin tähän tehtävään xsession.d:ssä (/etc/X11/Xsession.d/) käynnistyvän bash-skriptin mutta tuntuvat jäävän nämä skriptin prosessit roikkumaan koneelle vaikka käyttäjä on jo poistunut koneelta.
Jouduin äskettäin ottamaan ko. skriptin pois ajosta kun niitä näytti olevan yli 1000 kpl ajossa. käyttäjiä silti vain noin 30kpl

Jos joku paremmin bash-skriptausta osaava voisi neuvoa mitä tuohon skriptiin pitäs muuttaa/lisätä että ne kuolevat kun käyttäjä poistuu tai saavat Xsession teilattua.

skripti yksinkertaisuudessaan on tälläinen:
Koodia: [Valitse]
#!/bin/bash
#idle-agent.sh

while [ true ]
do
    idletime=$(/usr/bin/xprintidle)

    if [ $idletime -gt 900000 ] #idlattu yli 15min
    then
        gnome-session-save --kill --silent
    else
        sleep 10
    fi
done

ja tämä siis käskytetään xsession.d:ssä  vain:
Koodia: [Valitse]
if [ -n "$LTSP_CLIENT" ] ; then
        /usr/local/bin/idle-agent.sh &
fi

xprintidle on repositorystä asennettu softa joka tulostaa idle-ajan millisekunneissa stdouttiin.

aurinkolasit

  • Vieras
Vs: idle-potkijaan parantelua.
« Vastaus #1 : 31.05.09 - klo:14.57 »
Paraneeko skriptisi jos lisäät gnome-sessionin lopettamisen jälkeen komennon "exit"?

Entäs funktio? Toimisiko tämä?
Koodia: [Valitse]
idle_agent()
{
idletime=$(/usr/bin/xprintidle)
if [ $idletime -gt 900000 ]; then
gnome-session-save --kill --silent
exit
else
        sleep 10
idle_agent
}

idle_agent # Pistää tsekkauksen käyntiin

« Viimeksi muokattu: 31.05.09 - klo:15.00 kirjoittanut aurinkolasit »