J'ai un script bash qui prend plusieurs heures à s'exécuter. Pendant qu'il s'exécute, je voudrais faire d'autres choses, qui peuvent impliquer la déconnexion ou la déconnexion d'Internet (mon script exécute des tests de réseau sur différents ordinateurs).
Je comprends qu'il existe une commande qui me permettrait d'exécuter mes tests à partir d'un terminal distant et de me déconnecter du terminal pendant son exécution. Quelqu'un sait-il ce qu'est cette commande?
la source
J'utilise
nohup
pour ça. Dans mon cas, j'avais un script python nomméaction.py
J'ai exécuté le script sur un serveur distant etnohup python action.py &
je fermais ensuite le terminal. Plus tard, une fois l'exécution terminée, vous pouvez voir toutes les sorties du processus dansnohup.out
lequel elles seront créées dans le même répertoire queaction.py
. Si le fichier existe déjà, une sortie supplémentaire lui sera ajoutée.Le seul hic est de ne pas savoir quand le script a suivi son cours, donc dans mon cas, je l'ai fait me tirer un e-mail à la fin. J'espère que cela a aidé quelqu'un!
la source
Que se passe-t-il si vous avez oublié d'ajouter la
nohup
commande au début de votre commande?Disons que vous avez exécuté la commande longue suivante:
Ceci est appelé car il
ls -Ral /
est censé répertorier tous les fichiers et tous les dossiers, y compris ceux cachés, avec un format long, récursivement à partir du dossier racine. Ça peut prendre un moment.Appuyez simplement sur ctrl+ Z.
Comment le récupérez-vous?
La commande pour le remettre au premier plan est
fg
.la source