Jak uruchamiać programy z terminala linux bez blokowania terminala?


34

Kiedy uruchamiam program z terminala, nie mogę ponownie użyć tej instancji terminala, dopóki go nie zamknę.

Czy istnieje sposób na uruchomienie programu / aplikacji z terminala bez blokowania terminala do czasu zakończenia programu?

Odpowiedzi:


62

Szukasz kontroli zadań obsługiwanej przez większość powłok. Zobacz wprowadzenie do tego artykułu . W pewnym momencie możesz także przeczytać oficjalną dokumentację bash, która jest domyślną powłoką w Ubuntu.

W skrócie: Aby uruchomić zadanie automatycznie w tle, &po wywołaniu programu umieść

$ program &

Możesz także zatrzymać programy za pomocą, CTRLza następnie umieścić je w tle za pomocąbg

$ program
^Z
$ bg

Aby ponownie uruchomić je na pierwszym planie, użyj fg.


Dowiedzenie się, że istnieje oficjalna dokumentacja bash, było dużą dodatkową pomocą, dzięki!
Addem

1

Jeśli kontrola zadań nie jest dokładnie tym, czego chcesz, spójrz na ekran .

Ekran kontroluje wiele wirtualnych terminali, dzięki czemu możesz uruchamiać wiele programów bez ich interakcji. Na przykład możesz jednocześnie uruchamiać mocp (odtwarzacz muzyki), aptitude (menedżer pakietów) i vim (edytor tekstu), mimo że wszystkie są interaktywnymi programami, które traktują terminal tak, jakby miały wyłączny dostęp.

Ułatwia to przełączanie się między zadaniami, na przykład tworzenie nowego terminala w obrębie ekranu w celu odczytania strony podręcznika - bez utraty miejsca w innym miejscu - przewracania w przód iw tył itp.


1

W Ubuntu 16.10 nie mogę uzyskać polecenia ctrl + Z wspomnianego w innej odpowiedzi do działania, ale

program &
^C

Działa dla mnie, innymi słowy, ctrl + cpo uruchomieniu programu z końcowym znakiem ampersand.

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.