gpt4 book ai didi

macos - 从命令行使用 URL 打开 Safari 并获取进程句柄

转载 作者:行者123 更新时间:2023-12-03 23:55:20 25 4
gpt4 key购买 nike

我知道在 MacOS 中有几种方法可以从命令行使用给定的 URL 打开 Safari,例如

open -a Safari http://stackoverflow.com

或者作为 AppleScript
tell application "Safari" to open location "http://stackoverflow.com/"

但是如果我开始这个过程,例如以编程方式,我只会获得 open/applescript 进程的句柄(在 Safari 启动后立即退出)。

如何使用给定的 URL 启动 Safari 并获取 Safari 进程的句柄(我仍然无法理解为什么它不能将 URL 作为命令行参数传递给 Safari 可执行文件)?

最佳答案

在 AppleScript 中,使用 URL 打开 Safari 后

tell application "Safari" to open location "http://stackoverflow.com/"

您可以通过以下方式获取流程对象
tell application "System Events" to set proc to application process "Safari"

proc 对象将附加 pid、bundle id 等。

另请注意,Safari 5+ 在 multi-process architecture 中运行:一个主进程和几个渲染进程,上面的代码只会让你得到主进程;渲染过程不容易访问,控制任何单独的渲染过程也没有多大意义。

关于macos - 从命令行使用 URL 打开 Safari 并获取进程句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com