J'essaie de savoir comment exécuter une commande en arrière-plan, puis de la mettre au premier plan plus tard. J'en ai marre des tutoriels et des réponses où les gens disent que c'est simple, il suffit d'ajouter &
à la fin de la commande pour l'exécuter en arrière-plan. Cela ne fonctionne que dans une seule fenêtre de terminal. Je veux mettre la commande en arrière-plan dans un terminal et la remettre au premier plan après la réouverture du terminal
Exemple:
$ grunt &
$ jobs
$ [1]+ Running grunt &
Bien sûr, après la fermeture du terminal, aucun emploi n'est trouvé.
Exemple suivant:
$ grunt & disown #the same behavior has: $ setsid grunt &
$ jobs
$ [nothing] #but ps shows that grunt is working
after close terminal, grunt doesn't work
Qu'ai-je fait de mal? Quelqu'un pourrait-il m'expliquer comment exécuter la commande en arrière-plan et la remettre au premier plan.
Installer
screen
:Début
screen
:Exécutez vos commandes selon vos besoins.
Détachez-vous
screen
du terminal (vos commandes seront toujours en cours d'exécution):Appuyez sur CTRL+ a+d
Fermez le terminal
Ouvrez un autre terminal et rattachez la dernière
screen
session:Pour plus d'informations et des options supplémentaires pour la
screen
rechercheman screen
.la source
tmux
comme alternative àscreen
.Avez-vous essayé:
byobu
outmux
qui sont des multiplexeurs de terminaux. Pas exactement ce que vous recherchez, mais il a un comportement similaire.Exécutez ensuite votre commande, pour détacher:
Pour reprendre:
Voir https://help.ubuntu.com/community/Screen
la source