Script schießt die Konsole unter Linux ab^^
Verfasst: Freitag 11. Mai 2007, 18:50
Hallo!
Ich hab irgendwie ein kurioses Snippet geschrieben. Warums nicht funzt ist mir klar, allerdings schießt das Script die Konsole unter Linux ab und das ganze System crasht
Unter debian testing crasht die Konsole und unter Ubuntu Feisty freezt der Xserver...
Bei mir geht dann einfach gar nichts mehr^^
Jetzt im Ernst, weis jemand woran das liegt? Sollte ja eigentlich nicht passieren oder?
Ist das ein Bug in python?
Achso um den Crash zu reproduzieren, einfach das Script starten, und eine USB Stick anschließen und passwort eingeben(sudo pw). Der Rest klappt von selber
mfg benny
Code:
Ich hab irgendwie ein kurioses Snippet geschrieben. Warums nicht funzt ist mir klar, allerdings schießt das Script die Konsole unter Linux ab und das ganze System crasht
Unter debian testing crasht die Konsole und unter Ubuntu Feisty freezt der Xserver...
Bei mir geht dann einfach gar nichts mehr^^
Jetzt im Ernst, weis jemand woran das liegt? Sollte ja eigentlich nicht passieren oder?
Ist das ein Bug in python?
Achso um den Crash zu reproduzieren, einfach das Script starten, und eine USB Stick anschließen und passwort eingeben(sudo pw). Der Rest klappt von selber
mfg benny
Code:
Code: Alles auswählen
# -*-coding=utf-8 -*-
import os, time
from optparse import OptionParser
from subprocess import Popen, PIPE, STDOUT
def sdxx(x):
SysCommand = ("sudo mount ")
DeviceDir = ("/dev/%s ") % x
DestinationDir = ("/media/%s") % x
try:
os.mkdir(DestinationDir)
except OSError:
pass
#Hier wird gemounted
if os.system(SysCommand+DeviceDir+DestinationDir) == 0:
print "/dev/%s wurde erfolgreich nach /media/%s gemounted" % (x,x)
else:
print "Einbinden fehlgeschlagen"
def automount():
os.system("ls /dev > /tmp/dev0.info")
print "USB-Medium bitte jetzt anstecken"
print "bitte warten, Script sucht nach neuen USB-Medien..."
while True:
time.sleep(2) #für besser Performance ;-)
os.system("ls /dev > /tmp/dev1.info")
#Überpüfung ob ein neues Device angesteckt wurde
xy = Popen("diff /tmp/dev0.info /tmp/dev1.info", shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT)
Abfrage = xy.stdout.read()
for y in Abfrage:
sdxx(y)
automount()