Garder un programme en cours d'exécution dans le terminal

8

Je connais donc bien nohupet je suffixe les commandes avec &pour m'assurer qu'elles vont en arrière-plan.

Cependant, si j'exécute une application graphique - parfois, ni l'un ni l'autre ne semble faire l'affaire. Alors, avec quoi puis-je préfixer un programme / commande pour m'assurer qu'il continue de fonctionner après la fermeture du terminal?

Industriel
la source

Réponses:

9

Si vous souhaitez que l'application continue de fonctionner lorsque vous fermez la fenêtre du terminal, vous devez:

nohup chromium-browser &

Vous avez besoin à la fois du nohupet du &.

  • nohup signifie que ce processus / commande s'exécute après la fermeture du shell.
  • & signifie mettre ce processus / commande en arrière-plan afin qu'il ne bloque pas le shell (vous pouvez donc l'utiliser pour autre chose.
marque
la source
5

lors de l'exécution d'un programme en arrière-plan via l'opérateur &, il est toujours attaché à votre session et peut être contrôlé avec fg, bg, jobs et disown.

J'ai également eu des problèmes avec Nohup mais le reniement est peut-être la chose que vous recherchez.

Lorsque vous exécutez un programme en arrière-plan, il a un identifiant de travail:

gedit &
[1] 5647

Ce nombre entre parenthèses [] est le plus intéressant. Pour le détacher de votre session, exécutez-le disown %navec ce numéro. Pour l'exemple ci-dessus:

disown %1

Vous pouvez maintenant quitter le terminal en toute sécurité et le processus ne sera pas interrompu.

Axel
la source
2

Pour les applications graphiques, faire simplement quelque chose comme ça devrait fonctionner (au moins, ça le fait pour moi)

chromium-browser&

Pour les applications de terminal, vous devez utiliser quelque chose comme screenou tmux.

jrg
la source
-1 car cela ne fonctionnera pas pour l'exigence de continuer à fonctionner après la fermeture du terminal. +1 pour suggérer écran / tmux.
gertvdijk
@gertvdijk intéressant, pour les applications GUI ça marche pour moi. Je viens de tester en utilisant bash. J'ai eu des cas où zsh se plaindra si je fais ça et ensuite j'essaye de sortir ...
jrg
J'utilisais Konsole et y exécutais Kate avec en &annexe. Kate fermera par la suite après la fermeture de Konsole.
gertvdijk
-1

Fermez le terminal, à partir duquel vous avez démarré le programme graphique, avec

exit
Utilisateur inconnu
la source
Un commentaire sur le downvote pourrait être utile.
utilisateur inconnu