nie ma nic bardziej denerwującego niż uruchamianie polecenia w terminalu i uruchamianie go przez kilka minut, czasami godzin i nie można ponownie używać terminala. Oczywiście, możesz używać kart, ale jest to niezgrabne rozwiązanie i nie zawsze jest optymalne, ponieważ możesz chcieć zobaczyć aktualizacje podczas pracy. Tutaj pokazujemy kilka różnych sposobów uruchamiania poleceń bash w tle w Linuksie.,
Zakończ polecenie za pomocą &
Jeśli chcesz wcisnąć polecenie w tło, Użyj &
na końcu jest to łatwy sposób. W ten sposób możesz wydać polecenie w tle i nadal korzystać z terminala podczas jego działania. Ale jest z haczykiem. Użycie &
nie rozłącza polecenia od ciebie; po prostu wypycha je w tło., Oznacza to, że podczas próby użycia terminala wszystko, co polecenie chce wcisnąć do STDOUT
lub STDERR
, będzie nadal drukowane, co może rozpraszać uwagę.
polecenie&
gdy sesja terminala jest zamknięta, polecenie kończy się., Możesz również zabić polecenie, wydając polecenie jobs
, znajdując numer uruchomionego polecenia i zabijając je za pomocą polecenia kill
. Ta składnia jest następująca:
kill %1
korzystanie z&
jest dobre, jeśli chcesz coś odepchnąć, ale nie oczekuj, że będzie trwało wiecznie.,
& po wywołaniu polecenia, a następnie Wydziedziczeniu go
uruchamianie polecenia tylko z&
wypycha go do tyłu i utrzymuje, dopóki okno terminala jest otwarte. Jeśli jednak chcesz, aby to polecenie działało na stałe, nawet po zakończeniu sesji terminala, możesz użyć polecenia disown
.
aby użyć tej metody, zacznij od dodania &
.,
polecenie&
jak wspomniano powyżej, użycie&
wypycha to polecenie w tle, ale nie oddziela go od użytkownika. Możesz to sprawdzić wpisując jobs
w terminalu. Wyświetli polecenie działające w tle, tak jak widzieliśmy wcześniej.
wystarczy wpisaćdisown
do powłoki, a to wystarczy. (I możesz to ponownie zweryfikować za pomocą polecenia jobs
.,)
teraz możesz zamknąć swój terminal i kontynuować swój dzień. Nadal będzie przesyłać rzeczy do STDOUT
lub STDERR
, ale po wyjściu i ponownym otwarciu terminala nic tam nie zobaczysz., Możesz ponownie znaleźć polecenie za pomocą top
lub ps
I zabić je za pomocą kill
.
& po poleceniu z /dev/null
dodanie &
po poleceniu spowoduje wypchnięcie polecenia w tło, ale w rezultacie polecenie w tle będzie nadal drukować wiadomości do Terminal, jak go używasz. Jeśli chcesz temu zapobiec, rozważ przekierowanie polecenia do /dev/null
.,
polecenie&>/dev/null&