Powiedzieliśmy już, czym jest proces w tle Linuksa i jak go poprawnie uruchomić. W tym artykule powiemy, jak działa on w tym trybie.
Uruchomienie skryptu w Linuksie to jedno zadanie, musisz upewnić się, że działa on poprawnie zaraz po zamknięciu terminala. Terminal zamyka się w następujący sposób: należy kliknąć krzyżyk znajdujący się w górnym rogu ekranu, co prowadzi do zakończenia wszystkich procesów działających w tle. Istnieje kilka metod ich zapisania w przypadku utraty połączenia z powłoką interaktywną
Po pierwsze: usunięcie kolejki zadań z zadania za pomocą funkcji disown
:
disown
Podobnie jak w poprzednich przypadkach, jeśli uruchomionych jest wiele współbieżnych procesów, należy określić numer tego, względem którego zostanie wykonana akcja:
disown %1
Upewnij się, że zadanie nie znajduje się na liście zadań. Jak to zrobić. Użyj narzędzia jobs -l
. Aby wyświetlić całą listę uruchomionych procesów, należy użyć tego polecenia:
ps aux
Kolejna metoda: zapisujemy uruchomione procesy poleceniem nohup
. To polecenie po wykonaniu wykona z kolei inne polecenie, wszystkie sygnały SIGHUP
zostaną zignorowane.
Polecenie można uruchomić w tle w ten sposób:
nohup command &
Jak widać na powyższym obrazku, wyjście polecenia zostanie wysłane do nohup.out
. Najważniejszą rzeczą jest to, że po wylogowaniu i zamknięciu terminala proces będzie nadal działał. Istnieje kilka narzędzi, które pozwalają na uruchomienie dwóch lub więcej sesji jednocześnie. W szczególności pozwalają na to Screen
i Tmux
.
Screen
lub GNU Screen
to multiplekser terminali, który umożliwia uruchomienie jednej sesji roboczej i otwarcie w niej dowolnej liczby okien (wirtualnych terminali). Procesy uruchomione w tym programie będą działać, nawet jeśli ich okna są niewidoczne lub program przestał działać.Tmux
jest bardziej nowoczesną alternatywą dla GNU Screen
. Jednak funkcje Tmux
nie różnią się zasadniczo - można otwierać wiele okien w ramach jednej sesji w ten sam sposób. Zadania uruchomione w Tmux
nadal działają, jeśli terminal zostanie zamknięty.Rozwiązaliśmy tę kwestię, jak widać, wszystko jest elementarne i proste.