2017-03-21 1 views
1

Mein Wecker ist ein Python-Skript, das mit Cron ausgelöst wird. Es spielt Musik für eine Stunde mit pygame, allmählich die Lautstärke zu erhöhen.Wie erstellt man ein nicht killbares Python-Skript?

Kürzlich hat eine willensstarke, halbbewusste Version von mir gelernt, wie man das Skript mit pkill -f alarm.py abschalten kann.

Gibt es eine Möglichkeit, mein Python-Skript oder Cron-Task zu konfigurieren, um zu verhindern, dass es mit pkill beendet wird?

+0

Skript als 'root' ausführen und Ihren" semi-bewussten "Benutzern nicht erlauben, sie zu töten? – Vor

+5

Sie sind der Inbegriff eines Entwicklers. Kreativ genug, um etwas zu bauen, aber faul genug, um es zu testen. –

+1

@Vor ich kann nicht an einen einzelnen Entwickler denken, der nicht der aller Admin ihres persönlichen Computers ist, also Wurzelzugang könnte heraus einfach wegen sein, wie wir unsere Leben (volle Kontrolle) konfigurieren –

Antwort

0

Okay, das ist wahrscheinlich ein wenig intensiv für die Zwecke der meisten Leute, aber hier ist, was ich getan habe.

Ich bin mit Linux und Warnung: dies den Prozess unkillable durch die Tastatur für die Dauer des Skripts Python macht deaktivieren.

import time, subprocess 

keyboard_id = 11 # find this by running "xinput -list" 

# disable the keyboard 
subprocess.call(["xinput", "set-prop", str(keyboard_id), "Device Enabled", "0"]) 

# ... do alarm stuff for a while ... # 
time.sleep(10) 

# re-enable keyboard after alarm finishes 
subprocess.call(["xinput", "set-prop", str(keyboard_id), "Device Enabled", "1"]) 
pass 

Schachmatt, Zukunft ich.