如何在打开后终止或关闭(退出)应用程序? (python)
How to terminate or close (quit) an app after opening it? (python)
我使用下面的代码打开了一个应用程序,但是如果我想关闭该应用程序呢?
music = subprocess.Popen(["/bin/bash", "-c", "open/System/Applications/Music.app"])
我会使用 AppleScript:
> subprocess.run(["open", "/System/Applications/Music.app"])
> subprocess.run(["osascript", "-e", 'tell application "Music" to quit'])
请注意,与 Python 不同,AppleScript 需要双引号字符串。
音乐 运行 基本上独立于您的 Python 过程;我不知道获取或保留代表流程的对象的简单方法。在这两种情况下,我们都在间接工作。
首先,我们运行open
,要求launchd
为我们运行音乐。 open
立即存在,因此手边保留一个代表它的 Popen
实例毫无意义。
完成音乐后,我们使用 osascript
到 运行 一个非常短的 AppleScript,它只是要求音乐应用程序自行退出。与 open
一样,osascript
会立即退出,而 Music 会按照我们的要求执行,即退出。
我使用下面的代码打开了一个应用程序,但是如果我想关闭该应用程序呢?
music = subprocess.Popen(["/bin/bash", "-c", "open/System/Applications/Music.app"])
我会使用 AppleScript:
> subprocess.run(["open", "/System/Applications/Music.app"])
> subprocess.run(["osascript", "-e", 'tell application "Music" to quit'])
请注意,与 Python 不同,AppleScript 需要双引号字符串。
音乐 运行 基本上独立于您的 Python 过程;我不知道获取或保留代表流程的对象的简单方法。在这两种情况下,我们都在间接工作。
首先,我们运行open
,要求launchd
为我们运行音乐。 open
立即存在,因此手边保留一个代表它的 Popen
实例毫无意义。
完成音乐后,我们使用 osascript
到 运行 一个非常短的 AppleScript,它只是要求音乐应用程序自行退出。与 open
一样,osascript
会立即退出,而 Music 会按照我们的要求执行,即退出。