Я написал рабочий код, который делает то, что вы хотите.
Я протестировал его на RedHat 7 Linux, и он работал как положено.
Код:
import subprocess
proc = subprocess.Popen(["gedit"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
print("STDOUT: {0} \nSTDERR: {1}".format(stdout, stderr))
print("After I closed Gedit")
Вывод:
>>> python3 test.py
STDOUT: b''
STDERR: b'\n(gedit:683047): GVFS-RemoteVolumeMonitor-WARNING **: 08:20:31.346: remote volume monitor with dbus name org.gtk.vfs.GoaVolumeMonitor is not supported\n'
After I closed Gedit
ПРИМЕЧАНИЕ. Конечно, Gedit открылся, и когда я его закрыл, программа продолжила работу.