come mettere in coda un comando per eseguirlo al termine di un altro comando?


9

A volte avvio un programma che impiega molto tempo per terminare ( emerge), quindi mi rendo conto che dovrei andare a letto invece di aspettarlo. Se lo sapessi in primo luogo vorrei correre

program; halt

Tuttavia, ora che ho già avviato il programma, come posso "pianificare" l'arresto del computer al termine del processo? Andrebbe Ctrl+zquindi fg; haltbene?

Risposte:


15

Sì, funzionerebbe.

Se non sei sicuro, puoi provarlo con

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

Un altro modo è semplicemente digitare il haltproprio terminale mentre il primo comando è in esecuzione; fintanto che il primo comando non legge l'input ad un certo punto siederà nel buffer del terminale e la shell lo leggerà quando termina il primo programma


1

Usando il waitcomando

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.