diff --git a/autologout.py b/autologout.py new file mode 100755 index 00000000..9f6fb529 --- /dev/null +++ b/autologout.py @@ -0,0 +1,32 @@ +#! /usr/bin/env python + +import sre, commands + +# pour chaque ligne du w +for w in commands.getoutput("w -h").split('\n') : + + # on splite + w = sre.split(' *', w) + + # on verifie que c'est une connection du bde + if w[2] != 'bde.crans.org' : + continue + + # on verifie qu'on a depase le timeout + if sre.match('^\d*\.\d*s$',w[4]) or sre.match('^[0-4]:\d*$',w[4]) : + continue + + # on reccuperre les processus s le tty + ps = sre.split(' *', commands.getoutput('ps auwwx | grep "%s" | head -n 1' % w[1] ) ) + + # 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] ) + print ps