Exécuter une tâche en arrière-Plan et la détacher de la session SSH
Je vous partage un astuce très pratique qui m'a bien aidé durant des tâches de migration interminable. Comment quitter le shell sans annuler la tâche courant qui est en court d’exécution ? Et oui, c'est possible de réaliser cette opération et je vais vous montrer comment faire.
1. Lancer la tâche
Connectez-vous à votre session SSH.
Démarrez la tâche que vous souhaitez exécuter. Par exemple :
./votre_script.sh ou une commande
Cette commande exécutera votre script.
2. Suspendre la tâche
Suspendez la tâche en cours en appuyant sur Ctrl+Z. Cela va stopper temporairement l'exécution de la tâche et vous ramener à l'invite de commande.
La tâche est maintenant suspendue (arrêtée temporairement).
3. Mettre la tâche en arrière-plan
Tapez bg pour mettre la tâche suspendue en arrière-plan. Cela va reprendre l'exécution de la tâche, mais en arrière-plan.
bg
La tâche continue maintenant de s'exécuter en arrière-plan.
4. Détacher la tâche
Pour détacher la tâche de la session SSH actuelle, utilisez disown suivi de l'identifiant de la tâche. Par exemple :
disown
Remplacez %1 par le numéro de job approprié si nécessaire.
5. Quitter la session SSH
- Vous pouvez maintenant vous déconnecter de la session SSH sans affecter la tâche en arrière-plan.
Pour résumer
Ctrl+Zsuspend la tâche en cours d'exécution.bgreprend la tâche suspendue en arrière-plan.disownenlève la tâche des tâches actives de la session actuelle, ce qui empêche sa fermeture lorsque la session SSH est terminée.- Après avoir utilisé
disown, vous ne pourrez plus ramener cette tâche en avant-plan dans la session actuelle.
Cette méthode est pratique pour exécuter rapidement des tâches en arrière-plan sans avoir besoin d'outils supplémentaires comme screen ou tmux. Elle est particulièrement utile pour des tâches ponctuelles ou des scripts qui n'ont pas besoin d'une interaction continue.
Partager cet article
Écrit par
larevuegeek

Commentaires (0)