GNU/Linux >> Tutoriels Linux >  >> Linux

Comment récupérer un travail en arrière-plan à partir d'un shell précédent ??

Cette question a déjà des réponses ici :Fermé il y a 8 ans.

Duplication possible :
Comment puis-je désavouer un processus en cours d'exécution et l'associer à un nouveau shell d'écran ?

J'ai lancé une commande qui dure longtemps.
J'ai dû me déconnecter donc je l'ai déplacée en tâche de fond (avec CTRL+Z et bg ) avant de quitter.

Quelque chose comme ça :

$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+  Stopped                 my_command
$ bg
[1]+ my_command &
$ exit

Je me suis reconnecté et je peux voir la commande dans la liste des processus mais je ne peux pas récupérer avec fg .

$ fg
-bash: fg: current: no such job

Comment récupérer mon travail au premier plan ?

Réponse acceptée :

Si vous avez déjà commencé quelque chose quelque part, que vous l'avez mis en arrière-plan et que vous devez maintenant l'attacher à un nouveau terminal, vous pouvez utiliser reptyr pour le remettre en place. (L'man La page résume la commande comme "Reparent un programme en cours d'exécution à un nouveau terminal".)

La raison pour laquelle vous ne pouvez pas le voir dans la commande "jobs" ou utiliser "fg" pour le mettre au premier plan est que ces commandes sont en fait intégrées au shell. Techniquement, ils ne détachent pas les processus du terminal auquel vous êtes connecté, donc lorsque vous quittez le shell, ils devraient quitter également (vous devriez recevoir un avertissement lorsque vous essayez de quitter).


Linux
  1. Comment affecter la sortie d'une commande à une variable Shell ?

  2. Comment détecter si le shell est contrôlé depuis Ssh ?

  3. Comment exécuter des scripts Python à partir du shell

  4. Comment utiliser la commande su sur adb shell ?

  5. Comment exécuter la commande Vim depuis le shell ?

Comment supprimer une commande de l'historique sous Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Comment utiliser la commande Declare dans Linux Bash Shell

Comment utiliser la commande Jobs sous Linux

Comment exécuter une commande dans un script shell ?

Comment lire les arguments de ligne de commande dans les scripts shell ?