gpt4 book ai didi

google-chrome - 使用命令行参数作为后台进程运行 Mac Chrome

转载 作者:行者123 更新时间:2023-12-01 16:04:45 28 4
gpt4 key购买 nike

我的 .bash_profile 有 2 个别名文件包含:

alias chrome="/Applications/Google\\ \\Chrome.app/Contents/MacOS/Google\\ \\Chrome"
alias chromex="chrome --disable-web-security"

但是在运行时,它会打开 Chrome,但一直保持终端窗口...一旦我关闭终端窗口,它也会关闭 chrome。

有什么办法让它在后台运行吗?

我记得我用它来 thin网络服务器 thin start -dthin start --daemonize

谢谢

<小时/>

更新

除了詹姆斯的回答我还发现了nohup命令行使我可以毫无问题地退出终端,这是通过附加 & 来混合的。到nohup命令:

$ nohup chromex &

默认输出写入nohup.out文件

要停止作业,我可以运行 ps ax ,通过正确的命令找到PID,然后kill -9 PID

最佳答案

在命令行末尾放置一个 & 符号。

alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome &"

如果您也不想看到任何调试 chrome 输出,请将 stdout 和 stderr 重定向到/dev/null

alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 2>&1 > &"

在 Mac 上,您可以使这变得更加简单:

alias chrome="open /Applications/Google\ Chrome.app/ --args --disable-web-security"

不过,你的第二个要求让这变得有点棘手。 & 需要位于命令行末尾;但是您的第二个别名将命令添加到第一个命令的末尾 - 即在&符号之后 - 所以这不起作用。

为了解决这个问题,我们可以将“chrome”重新定义为一个函数。

chrome () {
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $* 2>&1 &
}

$* 表示传递给函数的任何命令行参数都将插入此处,位于与号之前。这意味着您仍然可以将第二个别名定义为

alias chromex="chrome --disable-web-security"

这将扩展到

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security 2>&1 &

顺便说一句,这只是称为“在后台”运行。 “作为守护进程”是指每当机器打开时运行的服务器进程,并且不依赖于任何用户的 session 。

关于google-chrome - 使用命令行参数作为后台进程运行 Mac Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200756/

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