如何从 Spotlight on Snow Leopard 启动程序的第二个进程

Sei*_*gai 5 mac spotlight osx-snow-leopard macos

我通常从 Spotlight 启动程序,并且有一个程序我想启动第二个进程。该程序特别是 Mathematica。Mathematica 的第二个过程允许我继续工作,而第一个过程与某些表达式的评估有关,这需要很长时间来计算。此外,两个笔记本之间不共享全局变量也是有益的。

我可以毫无问题地从 Spotlight 启动 Mathematica 的第一个进程。但是,当我第二次在 Spotlight 中选择 Mathematica 时,它不会启动第二个进程。相反,它侧重于第一个 Mathematica 进程的窗口。我知道我可以通过调用从命令行启动第二个进程

/Applications/Mathematica.app/Contents/MacOS/Mathematica
Run Code Online (Sandbox Code Playgroud)

但是,如果可能,我不想使用命令行。我也在不同的程序(Adobe Reader)中观察到类似的行为,所以我猜这就是 Spotlight 默认的行为方式。有什么办法可以让 Spotlight 启动程序的另一个进程而不是专注于现有窗口?如果是这样,我该怎么做?

Dan*_*eck 3

您无能为力来实现这一目标。应用程序通常不需要多次启动。有些(例如 Safari 5、TextMate 或 iTunes)表现得很奇怪,或者完全阻止了这种情况。

\n\n

但是您可以包装您的命令行调用,或者最好是更好支持的方式

\n\n
open -n -a Mathematica\n
Run Code Online (Sandbox Code Playgroud)\n\n

在 Automator 脚本中。这样,您可以启动程序,或运行启动第二个 Mathematica 实例的服务。

\n\n
\n\n

为此,请打开Automator,选择ApplicationService,双击左侧库中的Run Shell Script操作,然后向其中添加命令行调用。我建议你使用我的,因为它在启动程序后立即返回。如果它是服务,请选择它在任何应用程序中不接收输入

\n\n

现在保存它。如果它是一个应用程序,请将其存储在任何位置并将其拖动到例如 Dock、Finder 工具栏或 Finder 侧边栏以便快速访问;如果是服务,则位于应用程序菜单的“服务”子菜单中。您甚至可以在系统偏好设置 \xc2\xbb 键盘 \xc2\xbb 键盘快捷键 \xc2\xbb 服务 中分配键盘快捷键。

\n