次を含む.bash_profile
ファイルに2つのエイリアスがあります。
alias chrome="/Applications/Google\\ \\Chrome.app/Contents/MacOS/Google\\ \\Chrome"
alias chromex="chrome --disable-web-security"
しかし、実行すると、Chromeが開きますが、端末ウィンドウを保持し続けます...端末ウィンドウを閉じると、クロムも閉じます。
バックグラウンドで実行する方法はありますか?
thin start -d
またはthin start --daemonize
のthin
ウェブサーバーにこれを使用したことを思い出しましたか?
ありがとう
ジェームズの答えの他に、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"
ただし、2番目の要件により、これは少し複雑になります。 &はコマンドラインの最後にある必要があります。しかし、2番目のエイリアスは最初のコマンドの最後にコマンドを追加します-つまり、アンパサンドの後-これは機能しません。
これを回避するために、関数として「クロム」を再定義できます。
chrome () {
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $* 2>&1 &
}
$*
は、関数に渡されたコマンドラインパラメータがアンパサンドの前にここに挿入されることを意味します。これは、2番目のエイリアスを次のように定義できることを意味します
alias chromex="chrome --disable-web-security"
これはに展開されます
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security 2>&1 &
ところで、これは単に「バックグラウンドで」実行されると呼ばれます。 「デーモンとして」とは、マシンの電源がオンになるたびに実行されるサーバープロセスを指し、どのユーザーのセッションにも関連付けられていません。
.zshr(.bash_profileと同じ)でエイリアスを次のように定義しました。
open_by_browser(){ open -a $1 $2}
alias firefox='open_by_browser firefox'
alias chrome='open_by_browser "Google Chrome"'
その後、FirefoxまたはChromeでhtmlファイルを開くことができます
たとえば、Firefoxで
firefox xxx/index.html
chromeで
chrome xxx/index.html