in meinem Python Script rufe ich mittels subprocess durch den Bildbetrachter feh ein fullscreen Bild auf. Ändert sich der String TempFeld, wird ein neues, anderes Bild aufgerufen. Dies funktioniert auch. Jedoch habe ich das Problem, dass das alte Bild, samt Bildbetrachter im Hintergrund weiterhin geöffnet bleibt.
Mittels nachfolgendem Code habe ich versucht durch abfragen der entsprechenden ProcessID und einem subprocess "kill ProcessID" das Bild im Hintergrund zu schließen, was jedoch nicht funktioniert.
Code: Alles auswählen
TempFeld = str(chr(Xtempfeld))+str(Ytempfeld)
cmd_open = "feh -x /home/pi/Bilder/" + TempFeld + ".jpg"
if OldTempFeld != TempFeld:
if CloseCount !=0:
OldPID = PID
ImageProc = subprocess.Popen(cmd_open, shell=True, stdin=None, stdout=None, stderr=None, close_fds=True)
PID = ImageProc.pid
if CloseCount !=0:
cmd_close = 'kill ' + str(OldPID)
#print (cmd_close)
ImageCloseProc = subprocess.Popen(cmd_close, shell=True, stdin=None, stdout=None, stderr=None, close_fds=True)
OldTempFeld = TempFeld
CloseCount = CloseCount + 1
Ich habe es auch schon mit
Code: Alles auswählen
ImageProc.kill()
Es wäre echt super, wenn mir hier jemand weiter helfen könnte.
Gruß helu1020