autologout: déjà dans archive
This commit is contained in:
parent
ee134b4d84
commit
e7659bdc82
1 changed files with 0 additions and 47 deletions
|
@ -1,47 +0,0 @@
|
||||||
#! /usr/bin/env python
|
|
||||||
|
|
||||||
import re
|
|
||||||
import commands
|
|
||||||
import sys
|
|
||||||
sys.path.append('/usr/scripts/')
|
|
||||||
import cranslib.utils.logs
|
|
||||||
import logging
|
|
||||||
LOGGER = logging.getLogger("crans.autologout")
|
|
||||||
LOGGER.addHandler(cranslib.utils.logs.CransFileHandler("autologout"))
|
|
||||||
LOGGER.setLevel(logging.WARNING)
|
|
||||||
|
|
||||||
def run_autologout():
|
|
||||||
LOGGER.debug("Starting autologout")
|
|
||||||
# pour chaque ligne du w
|
|
||||||
for w in commands.getoutput("w -h").split('\n') :
|
|
||||||
if not w : continue
|
|
||||||
# on splite
|
|
||||||
w = w.split()
|
|
||||||
|
|
||||||
# on verifie que c'est une connection du bde
|
|
||||||
hosts = ['cableur.crans.org','cableuse.crans.org','venus.crans.org','kfet.crans.org']
|
|
||||||
if w[2] not in [ h[0:16] for h in hosts ] :
|
|
||||||
continue
|
|
||||||
|
|
||||||
# on verifie qu'on a depase le timeout
|
|
||||||
if re.match('^\d*\.\d*s$', w[4]) or re.match('^[0-4]:\d*m$', w[4]) :
|
|
||||||
continue
|
|
||||||
|
|
||||||
# on reccuperre les processus s le tty
|
|
||||||
ps = commands.getoutput('ps auwwx | grep "%s" | head -n 1' % w[1] ).split()
|
|
||||||
|
|
||||||
# on verrifie que c'est le bon user
|
|
||||||
if ps[0] != w[0] :
|
|
||||||
continue
|
|
||||||
|
|
||||||
# on verifie qu'on a pas de tty
|
|
||||||
if ps[6] != '?' :
|
|
||||||
continue
|
|
||||||
|
|
||||||
# on tue le process
|
|
||||||
commands.getoutput('kill %s' % ps[1] )
|
|
||||||
LOGGER.info("%s a ete deconnecte" % ps[0])
|
|
||||||
#print ps
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
run_autologout()
|
|
Loading…
Add table
Add a link
Reference in a new issue