Mac:真正地将进程从 Terminal.app 中分离出来

Mac:真正地将进程从 Terminal.app 中分离出来

在 Mac OS 10.6.6 上,我想创建一个运行 Google Chrome 的 bash 别名或函数。启动 Chrome 很容易:“/Applications/Google Chrome.app/Contents/MacOS/Google Chrome”。问题是如何将 Chrome 进程树与 Terminal.app 分离,以便在我关闭终端窗口时不会杀死 Chrome。我尝试了以下所有方法,但都无济于事:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" &

nohup "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" &
disown

screen "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

screen "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" &

关于如何真正将 Chrome 进程树与 Terminal.app 分离,有什么建议吗?或者,还有其他方法可以创建命令行快捷方式来启动和分离 Chrome?


编辑:请注意,该问题的答案同样适用于启动除 Chrome 之外的其他应用程序。

答案1

尝试这个:

open "/Applications/Google Chrome.app"

答案2

open -a "Google Chrome"

这将打开 Chrome,而不考虑它的安装位置,这可能比硬编码路径更可取。

另请注意,使用open不同于直接运行可执行文件,因为它不会启动第二Chrome 的副本。这是正确的 Mac 行为;直接运行可执行文件不应该做除非您有特殊需要,例如传递命令行参数(正常情况下适当的 Mac 应用程序永远不需要这些参数)。

相关内容