Здесь есть другая разница, которая не упоминается ранее.
subprocess.Popen
выполняет команду & lt; command> как подпроцесс. В моем случае мне нужно выполнить файл & lt; a>, который должен связываться с другой программой, & lt; b>.
Я попробовал подпроцесс, и выполнение было успешным. Однако & lt; b> не удалось установить связь с & lt; a>. Все нормально, когда я запускаю оба из терминала.
Еще одно: (ПРИМЕЧАНИЕ: kwrite ведет себя отличным от других приложений. Если вы попробуете ниже с Firefox, результаты будут не такими.)
Если вы попытаетесь os.system("kwrite")
, поток программы зависает, пока пользователь не закроет kwrite. Чтобы преодолеть это, я попытался вместо этого os.system(konsole -e kwrite)
. Эта программа продолжилась, но kwrite стал подпроцессом консоли.
Кто-нибудь запускает kwrite, не являющийся подпроцессом (то есть в системном мониторе он должен появляться на крайнем левом краю дерева).