web-dev-qa-db-fra.com

Comment ouvrir une application dans un terminal et la détacher?

J'ai ouvert Cairo-dock dans mon terminal avec: open cairo-dock et cela a fonctionné, mais si je ferme le terminal, il va avec. Comment puis-je le garder ouvert quel que soit le terminal?

19
Jryl

Nohup est une commande POSIX permettant d’ignorer le signal HUP (blocage). Le signal HUP (raccrochage) est, par convention, la façon dont un terminal met en garde selon les processus de déconnexion. La sortie qui irait normalement au terminal est dirigée vers un fichier nommé Nohup.out si elle n’a pas déjà été redirigée. Nohup est un utilitaire de bas niveau qui configure simplement une commande pour ignorer un signal. Comme on le voit ci-dessous, Nohup est très loin d’être un système de traitement par lots complet résolvant tous les problèmes d’exécution asynchrone des programmes.

Voir manuel:

man Nohup

Exemple:

Nohup cairo-dock &
23
oerdnj

Encore une autre manière: disown

Dans le shell bash, la commande intégrée disown est utilisée pour supprimer des travaux de la table des travaux ou pour marquer des travaux de sorte qu'un signal SIGHUP ne leur soit pas envoyé si le shell parent le reçoit (par exemple, si l'utilisateur se déconnecte).

Par exemple:

cairo-dock & disown
17
pileofrocks

Personnellement, j'utilise screen pour ce genre de choses.

screen -d -m -S cairo_session open cairo-dock

Ce qui est bien, c’est que si vous voulez mettre fin à cairo-dock, vous pouvez vous reconnecter à la session screen et la terminer.

screen -S cairo_session -X quit

Screen a d'autres utilisations. C'est un multiplexeur de terminal.

7
llt