Uruchom Mac Chrome z argumentami wiersza poleceń jako procesem w tle

Mam 2 aliasy w moim pliku .bash_profile zawierającym:

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

Ale po uruchomieniu otwiera Chrome, ale trzyma okno terminala...po zamknięciu okna terminala również zamyka chrome.

Czy jest jakiś sposób, aby uruchomić go w tle?

Przypomniałem sobie, że używam tego dla thin webserver z thin start -d lub thin start --daemonize?

Dzięki


Update

Oprócz James answer znalazłem również nohup wiersz poleceń, który umożliwił mi zamknąć terminal bez problemu, który był mix przez dodanie {[7] } do nohup polecenia:

$ nohup chromex &

Domyślne wyjście jest zapisywane do pliku nohup.out

Aby zatrzymać zadanie mogę uruchomić ps ax, znaleźć PID za pomocą właściwego polecenia, a następnie kill -9 PID

Author: Volomike, 2011-06-01

2 answers

Umieść ampersand na końcu wiersza poleceń.

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

Jeśli nie chcesz widzieć żadnego z debugujących wyjść chrome, przekieruj stdout i stderr do /dev / null

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

Na Macu możesz to jeszcze uprościć:

alias chrome="open /Applications/Google\ Chrome.app/ --args --disable-web-security"
Twoje drugie Wymaganie sprawia, że jest to nieco trudniejsze. & Musi znajdować się na końcu wiersza poleceń; ale twój drugi alias dodaje polecenia na końcu pierwszego polecenia-czyli po ampersand - i tak to nie praca.

Aby to obejść, możemy przedefiniować 'chrome' jako funkcję.

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

$* oznacza, że wszelkie parametry wiersza poleceń przekazane do funkcji zostaną wstawione tutaj, przed ampersand. Oznacza to, że nadal możesz zdefiniować swój drugi alias jako

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

To zostanie rozszerzone do

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

BTW, to się nazywa bieganie "w tle". "Jako demon" odnosi się do procesu serwera, który działa za każdym razem, gdy maszyna jest włączona i nie jest powiązana do sesji użytkownika.

 53
Author: James Polley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-28 21:55:35

Zdefiniowałem alias na moim .zshr (to samo dla .bash_profile) tak:

open_by_browser(){ open -a $1 $2}
alias firefox='open_by_browser firefox'
alias chrome='open_by_browser "Google Chrome"'

Następnie mogę otworzyć plik html przez Firefoksa lub Chrome

Na przykład przez Firefoksa

firefox xxx/index.html

By Chrome

chrome xxx/index.html
 3
Author: david,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-04 08:41:27