comment mettre en file d'attente une commande à exécuter après la fin d'une autre commande?


9

Parfois, je démarre un programme qui prend très longtemps ( emerge), puis je me rends compte que je devrais aller me coucher au lieu de l'attendre. Si je le sais, je courrais

program; halt

Cependant, maintenant que j'ai déjà démarré le programme, comment puis-je "planifier" l'arrêt de l'ordinateur à la fin de ce processus? Serait Ctrl+zalors fg; haltOK?

Réponses:


15

Oui, ça marcherait.

En cas de doute, vous pouvez le tester avec

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

Une autre façon consiste à taper simplement haltvotre terminal pendant que la première commande est en cours d'exécution; tant que la première commande ne lit pas l'entrée à un moment donné, elle restera dans le tampon du terminal et le shell la lira à la fin du premier programme


1

Utilisation de la waitcommande

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.