SIGHUP
(Auflegen) teilt dem Terminal mit, es zu verlassen. Das Terminal sollte der übergeordnete Prozess Ihres Skripts sein, also
import os
import signal
os.kill(os.getppid(), signal.SIGHUP)
Anstatt den Befehl von der Shell nur mit dem Befehlsnamen auszuführen, führen Sie ihn mit exec
aus wodurch die Shell sich selbst durch das Programm ersetzt. Wenn das Programm dann beendet wird, wird auch das Terminalfenster geschlossen.
Dh statt
$ python ./my_script.py
ausführen:
$ exec python ./my_script.py