J'ai 2 alias sur mon .bash_profile
fichier contenant:
alias chrome="/Applications/Google\\ \\Chrome.app/Contents/MacOS/Google\\ \\Chrome"
alias chromex="chrome --disable-web-security"
mais lors de l'exécution, il ouvre Chrome mais continue de maintenir la fenêtre du terminal ... une fois que je ferme la fenêtre du terminal, il ferme également le chrome.
Existe-t-il un moyen de le faire fonctionner en arrière-plan?
Je me souviens que j'utilise ceci pour thin
webserver avec thin start -d
ou thin start --daemonize
?
Merci
en plus de la réponse de James, j'ai également trouvé la ligne de commande Nohup
qui m'a permis de quitter le terminal sans problème qui était un mélange en ajoutant le &
à la commande Nohup
:
$ Nohup chromex &
la sortie par défaut est écrite dans le Nohup.out
fichier
Pour arrêter le travail, je peux exécuter ps ax
, recherchez le PID via la bonne commande, puis kill -9 PID
Mettez une esperluette à la fin de la ligne de commande.
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome &"
Si vous ne voulez pas non plus voir le débogage chrome, redirigez stdout et stderr vers/dev/null
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 2>&1 > &"
Sur Mac, vous pouvez rendre cela encore plus simple:
alias chrome="open /Applications/Google\ Chrome.app/ --args --disable-web-security"
Cependant, votre deuxième exigence rend cela un peu plus délicat. Le & doit être à la fin de la ligne de commande; mais votre deuxième alias ajoute des commandes à la fin de la première commande - c'est-à-dire après l'esperluette - et donc cela ne fonctionne pas.
Pour contourner ce problème, nous pouvons redéfinir le "chrome" en tant que fonction.
chrome () {
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $* 2>&1 &
}
Le $*
signifie que tous les paramètres de ligne de commande passés à la fonction seront insérés ici, avant l'esperluette. Cela signifie que vous pouvez toujours définir votre deuxième alias comme
alias chromex="chrome --disable-web-security"
Celui-ci sera étendu à
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security 2>&1 &
BTW, cela est simplement appelé en cours d'exécution "en arrière-plan". "En tant que démon" se réfère à un processus serveur qui s'exécute chaque fois que la machine est allumée et n'est lié à aucune session d'utilisateur.
J'ai défini un alias sur mon .zshr (idem pour .bash_profile) comme ceci:
open_by_browser(){ open -a $1 $2}
alias firefox='open_by_browser firefox'
alias chrome='open_by_browser "Google Chrome"'
alors je peux ouvrir le fichier html par Firefox ou Chrome
par exemple, par Firefox
firefox xxx/index.html
par Chrome
chrome xxx/index.html