如何使用 Python 中的子进程优雅地终止 OSX 应用程序

How to gracefully kill OSX application using subprocess in Python

我正在使用子进程编写一个脚本,它将在终端启动一个应用程序,然后退出它。我试图掌握子进程的窍门,但我对终端命令的熟练程度有些不稳定。 (这是轻描淡写的说法。)

假设应用程序是 Mathematica。然后以下终端命令将启动应用程序并退出它:

open -a Mathematica

osascript -e 'quit app "Mathematica"'

我在

找到的关于 osascript 的建议

https://osxdaily.com/2014/09/05/gracefully-quit-application-command-line/

在 python 脚本中,我可以使用

启动应用程序
subprocess.Popen("open -a Mathematica", shell=True)

我试过了

subprocess.Popen("osascript -e 'quit app "Mathematica"'", shell=True)

和其他变体,但未能成功关闭应用程序。

我在空闲时使用 Mac OS 10.15.4 和 Python 3.7。

语法无效。这应该可以解决问题:

subprocess.Popen("osascript -e 'quit app \"Mathematica\"'", shell=True)