jak ustawić w kolejce polecenie, aby zostało uruchomione po zakończeniu innego polecenia?


9

Czasami uruchamiam program, który zajmuje bardzo dużo czasu ( emerge), a potem zdaję sobie sprawę, że powinienem iść do łóżka zamiast na niego czekać. Gdybym wiedział to przede wszystkim, pobiegłbym

program; halt

Jednak teraz, gdy już uruchomiłem program, jak mogę „zaplanować” zamknięcie komputera po zakończeniu tego procesu? Czy Ctrl+zwtedy fg; haltbędzie OK?

Odpowiedzi:


15

Tak, to by zadziałało.

W razie wątpliwości możesz to przetestować

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

Innym sposobem jest haltwpisanie terminala podczas działania pierwszego polecenia; dopóki pierwsze polecenie nie odczyta danych wejściowych w pewnym momencie, będzie znajdować się w buforze terminala, a powłoka odczyta je po zakończeniu pierwszego programu


1

Za pomocą waitpolecenia

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.