Metody płatności Abuse

Praca w tle procesu systemu Linux

27.01.2023, 23:58

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.

Jak działa proces w tle

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.