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?

phunehehe
la source

Réponses:

15

Oui, ça marcherait.

En cas de doute, vous pouvez le tester avec

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"

mru
la source
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

Michael Mrozek
la source
1

Utilisation de la waitcommande

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Gaius
la source