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.
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 tail
par 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". tail
Les options de la commande -n
indiquent le nombre de lignes à afficher et -f
le 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.