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?

ueaiox
źródło

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.

Benjamin Bannier
źródło
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.


źródło
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.

Gemtastic
źródło