Sei gentilissimo, ho risolto molti dei problemi; ma uno persiste:
Lancio questo script come sottoprocesso che apre una finestra di login e aspetta l'input.
Io vorrei che dopo tot secondi si chiudesse, ho provato sia con
codice:
time.sleep(40)
os.kill(int(pipe._handle))
nello script che lo lancia, sia con
codice:
def suicide():
    sys.exit()

t = threading.Timer(1.0, suicide)
t.start()
nello script stesso

Idee???