【发布时间】:2020-10-03 07:24:33
【问题描述】:
tell application "Google Chrome"
make new window
open location "https://google.com"
end tell
上面的命令产生了一个谷歌浏览器的实例。我想获取此进程的进程 ID,以便以后可以将其杀死。请注意,例如,我使用的是 Google chrome,但我可以多次生成任何进程。只需要获取进程ID。
【问题讨论】:
-
这段代码不会每次都产生一个新进程;它只是在 Chrome 应用程序中打开一个新窗口(如果 Chrome 没有运行,则启动一次)。您是在尝试打开多个并发进程,还是在尝试跟踪您使用此代码打开的窗口?
-
想法是使用它打开一个进程并获取它的 id,以便我以后可以通过编程方式关闭它
-
让我确定我们说的是同一种语言。您不想拥有一个带有(比如说)五个窗口的 Google Chrome 实例,而是希望拥有五个 Google Chrome 实例,每个实例带有一个窗口?这是更典型的 MS Windows 环境,但如果你真的想的话,你可以在 MacOS 上做。我的观点是,您编写的代码不会打开多个 Chrome 实例;它会在一个 Chrome 实例中打开多个窗口。
-
我需要您更清楚地了解您要尝试完成什么。询问每个窗口的进程 ID 没有意义,因为(在 MacOS 上)它们通常都具有相同的进程 ID。
-
我不确定这里最好的做法是什么。我的目标是打开窗口/实例(如果尚未运行)并能够稍后以编程方式关闭它。我认为最好的方法是跟踪所有新进程 ID 并在以后杀死它们。
标签: macos process applescript macos-catalina osascript