jak uruchamiać polecenia Bash w tle w Linuksie

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.,)

możesz po prostu zrobić polecenie disown

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.

odrzucone zadanie jest drugim, o pid 16238.,

& 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&

nie zapobiega to zamykaniu polecenia po zamknięciu terminala. Jednak, jak wspomniano powyżej, możliwe jest użycie disown, aby wyprzeć uruchomione polecenie z dala od użytkownika. Możesz również zabić go za pomocą jednej z wyżej wymienionych metod, jeśli nie chcesz, aby działał.,

Nohup, z& I/dev/null

w przeciwieństwie do poprzednich poleceń, użycienohup pozwala na uruchomienie polecenia w tle i utrzymanie jego działania. Jak? nohup omija sygnał HUP( sygnał się zawiesza), co umożliwia uruchamianie poleceń w tle, nawet gdy terminal jest wyłączony. Połącz to polecenie z przekierowaniem do „/ dev / null ” (aby zapobiec tworzeniu nohup.out file), a wszystko przechodzi do tła za pomocą jednego polecenia.,

Komenda nohup &>/dev/null &

iv

większość programów terminalowych w Linuksie ma wbudowane funkcje umożliwiające ich uruchamianie w tle przy niewielkim wysiłku. Wraz z tym, nowoczesne systemy init (jak systemd) mogą pozwolić użytkownikom na uruchamianie programów, takich jak usługi przy rozruchu lub kiedykolwiek.,

mimo to, niektóre programy na Linuksie nie mają możliwości uruchamiania jako demon lub integracji z nowoczesnymi systemami init. Jest to prawdziwa niedogodność, ale jest to zrozumiałe, ponieważ nie wszyscy programiści mają umiejętności lub czas na dodawanie nowych funkcji.

na szczęście polecenia takie jaknohup lubdisown są nadal rzeczywistością i mogą zamknąć lukę w przenoszeniu programów w tle. Nie są idealni ani fantazyjni, ale wykonują swoją pracę w razie potrzeby.,

Jeśli podobał Ci Się Ten artykuł o Linuksie, koniecznie zapoznaj się z innymi materiałami z Linuksa, takimi jak jak połączyć konto Google z GNOME Shell, 5 najlepszych dystrybucji Linuksa dla użytkowników Windows w 2021 roku i 15 poleceń LS, które musisz znać.

powiązane:

John Perkins

John jest młodym profesjonalistą technicznym z pasją do edukacji użytkowników na temat najlepszych sposobów korzystania z ich technologii. Posiada certyfikaty techniczne obejmujące tematy od sprzętu komputerowego przez cyberbezpieczeństwo po administrację systemem Linux.,

dostarcz nasze historie do swojej skrzynki odbiorczej.

Share

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *