screen – uruchamianie wielu poleceń w tle - www.srebniak.pl
screen – uruchamianie wielu poleceń w tle
19 września 2020
Categories: DevOps, Linux
Miałeś pewnie taką sytację, że chciałeś uruchomić zadanie, które będzie się wykonywać bardzo długi czas. Uruchomiłeś to zadanie i nagle bez większych powodów zostałeś odłączony od interntu. Twoje połączenie z serwerem zostało przerwane, sesja ssh została usunięta a twoja cała praca została stracona. Takie coś zdażyło się każdemy i każdej z nas. Szcześliwie dla nas wszystkich mam dzisiaj dla was rozwiązanie tego problemu, a jest nim screen, który pozwala nam tworzyć sesje terminala które mogą być spokojnie rozłączane i podłączane ponownie.
Wstęp
Screen lub GNU Screen jest multiplekserem terminala. W prostym tłumaczeniu screen pozwala nam na uruchomienie wielu sesji terminala i daje nam możliwość działania tego terminala nawet po rozłączeniu od serwera. Przydaje się to bardzo jeżeli chcesz wykonać na serwerze jakieś długie operacje – jak np. zrobienie kopii, masowe konwertowanie zdjęć etc.
Jak zainstalować
Instalacja na dystrybucjach bazujących na debianie jest bajecznie prosta
$ sudo apt-get update
$ sudo apt-get install screen
Pod dystrybucją CentOS and Fedora
$ sudo yum install screen
Startowanie sesji
Start screen’a jest bardzo prosty i służy do tego polecenie screen
Startowanie nazwanych sesji
Nazwane sesje są dobre jeżeli uruchamiasz wiele sesji secreen’a. Tworzenie takiej nazwanej sesji jest proste
screen -S nazwa_sesji
Zawsze polecam wybierać dobrze opisującą nazwę 😉
Kilka skrótów dla leniuszków
Poniżej kilka najczęściej stosowanych skrótów:
  • Ctrl+a cTworzy nowe okno z konsolą
  • Ctrl+a "Wyświetla listę wszystkich okien
  • Ctrl+a 0Wybierasz okienka po numerze – 0-9
  • Ctrl+a AZmieniasz nazwę obecnego okna
  • Ctrl+a SPodziel obecny region horyzontalnie w dwa oddzielne regiony
  • Ctrl+a |Dzielisz obecny region wertykalnie
  • Ctrl+a tabZmień aktywny region
  • Ctrl+a Ctrl+aPrzełącz się pomiędzy poprzednim a następnym.
  • Ctrl+a QPozostaw tylko obecny region – reszta jest zamykana
  • Ctrl+a XZamknij obecny region
Odłączanie od sesji
Możesz w każdej chwili się odłączyć od sesji screena wydając polecnie

Ctrl+a d

Po wydaniu tego polecenia możesz spokojnie wylogować się z serwera. Zadanie, które uruchomiłeś właśnie będzie nadal działać na serwerze. Nie musisz już się martwić o to, że zerwie połączenie z WiFi, zaniknie prąd lub cokolwiek stanie się z twoim komputerem. Zadanie będzie nadal uruchomione na zdalnej maszynie.
Podstawowe polecenia Screen
Poniżej mam dla was najprostsze i najczęstsze przypadki użycia polecenia screen.
  1. w terminalu uruchamiamy polecenie screen
  2. Uruchamiamy wybrany przez siebie program
  3. Używamy sekwencji Ctrl-a + Ctrl-d rozłączenia z sesją screen.
  4. Wracamy do naszego polecenia z tła za pomocą ctrl+r
© 2021 Więcej informacji
o mnie