як поставити в чергу команду для запуску після закінчення іншої команди?


9

Іноді я запускаю програму, яка потребує дуже довго часу, щоб закінчити ( emerge), потім розумію, що мені слід лягати спати, а не чекати. Якби я знав це в першу чергу, я б біг

program; halt

Однак тепер, коли я вже запустив програму, як я можу "запланувати" відключення комп'ютера після завершення цього процесу? Буде чи Ctrl+zтоді fg; haltбути в порядку?

Відповіді:


15

Так, це спрацювало б.

Якщо ви не впевнені, можете випробувати його

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

Ще один спосіб - просто ввести haltсвій термінал під час виконання першої команди; до тих пір, поки перша команда не прочитає вхід в якийсь момент, вона буде сидіти в буфері терміналу і оболонка буде читати її, коли перша програма закінчиться


1

Використання waitкоманди

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.