La connexion ssh est déconnectée et le script shell en cours d'exécution est également interrompu.

arrière-plan

J'entraîne chatGLM récemment. Une formation dure souvent près de 2 heures. Cependant, à cause d'un réseau instable, ssh est souvent déconnecté sans raison, ce qui oblige à redémarrer la formation, ce qui est une perte de temps.
Insérer la description de l'image ici

solution

Laissez-moi vous apprendre une façon d'exécuter des commandes en arrière-plan. Même si votre connexion ssh est déconnectée, le script shell sera exécuté silencieusement en arrière-plan !

exécution en arrière-plan

Tout d'abord, pour exécuter une commande shell en arrière-plan et imprimer la sortie dans un fichier, vous pouvez utiliser le symbole de redirection ">" pour rediriger la sortie vers un fichier. Par exemple, en supposant que nous ayons un script shell nommé "command.sh", nous pouvons utiliser la commande suivante pour l'exécuter en arrière-plan et imprimer la sortie dans un fichier nommé "output.txt" :

nohup command.sh > output.txt 2>&1 &  

Cette commande signifie :

  • nohup: Utilisé pour exécuter des commandes en arrière-plan.
  • command.sh: Le nom du script shell à exécuter.
  • > output.txt: Redirigez la sortie de la commande vers un fichier nommé "output.txt". Si le fichier n'existe pas, un nouveau fichier est créé ; si le fichier existe déjà, une nouvelle sortie est ajoutée à la fin du fichier.
  • 2>&1: Fusionner l'erreur standard (2) avec la sortie standard (1) afin que la sortie d'erreur de la commande soit également imprimée dans le fichier.
  • &: Mettez la commande en arrière-plan pour l'exécution.

Afficher le journal

Pour visualiser le contenu du fichier "output.txt", vous pouvez utiliser tailpar exemple la commande :

tail -n 100 output.txt  

La signification de cette commande est : afficher 100 lignes de contenu à partir de la fin du fichier "output.txt". tailLes options de la commande -nindiquent le nombre de lignes à afficher et -fle nom du fichier à afficher.

Les programmes qui sont normalement exécutés en arrière-plan ne généreront aucune information, mais avec la commande tail, vous pouvez afficher les journaux de sortie au premier plan en temps réel.

Je suppose que tu aimes

Origine blog.csdn.net/chy555chy/article/details/132168604
conseillé
Classement