Screen komanda – upravljanje Linux terminalima

Linux screen komanda predstavlja jednostavan i koristan alat koji značajno olakšava život Linux administratora. Screen komanda omogućuje da u Linux konzolnom režimu, u jednom terminal prozoru, možemo da otvorimo i eksploatišemo više nezavisnih shell terminala, pa se može reći da na taj način screen obavlja ulogu konzolnog display menadžera.

Druga funkcionalnost koju ova komanda obezbeđuje jeste mogućnost razdvajanja (detach) i ponovnog priključenja (attach) terminal sesija. U nastavku teksta navešćemo dva scenarija potencijalne upotrebe screen komande, radi boljeg razumevanja funkcionlnosti koje ova komanda obezbeđuje.

Screen komanda uspešno izlazi u susret zahtevima scenarija u kojem je, na primer, neophodno udaljeno pokrenuti izvršavanje neke interaktivne skripte koja se izvršava nekoliko časova i treba pratiti tok njenog izvršavanja. Recimo da je pri tome u monitoring proces uključeno više administratora, koji se razmenju po određenoj satnici i koji prilaze sa više udaljenih lokacija.

Backup procedure, sistemska ažuriranja, kompajliranja source paketa, itd. samo su neki od primera sistemski zahtevnih procesa koji se izvršavaju nekoliko časova. Drugi često korišćeni scenario u praksi jeste kada Linux administrator sa određene lokacije udaljeno (koristeći SSH pristup) radi na nekoliko Linux servera. Ukoliko se pri tome koristi forwardovanje portova i neki drugi složeniji mehanizmi koje SSH servis podržava, biće otvorena gomila prozora sa SSH klijentskim konekcijama, a kao dodatna komplikacija, za otvaranje svake nove klijentske konekcije biće neophodno da ponovo unesemo odgovarajuće SSH kredencijale.

Koji SSH prozor odgovara kojoj konekciji, posle nekog vremena postaje naporno pamtiti i snalaženje se u takvoj situaciji nije jednostavno. Screen komanda kao svojevrstan terminal display menadžer i u ovom scenariju omogućuje rad sa svim SSH konekcijama iz jednog terminal prozora.

scrn1

Funkcionalnosti screen komande koje smo predstavili mogu i da ne zvuče previše impresivno, ukoliko se ne uzme u obzir arhitektura Linux operativnog sistema, odnosno načina na koji su na sistemskom niovu oranizovani procesi, thredovi, kao i  i način na koji oni međusobno komuniciraju.

Bez suvišnog detaljisanja, recimo da ako na Linux sistemu otvorimo poseban terminal i iz datog terminala startujemo nekolicinu komandi, svaka od datih komandi predstavljaće zaseban proces koji će se izvršavati pod patronatom roditeljskog terminal procesa. Ukoliko zatvorimo terminal biće zaustavljen i svaki proces startovan iz datog terminala, a zaustavljanje procesa na Linux sistemu se inicira slanjem odgovarajućeg signala datom procesu. Praktično, to znači da ako smo na primer započeli proces preuzimanje nekog sadržaja komandom wget iz terminala, pa zatim taj terminal zatvorimo, i proces preuzimanja se automatski prekida.

Korišćenjem screen komande potrebno je samo uraditi detach aktivne sesije i u ovom scenariju proces preuzimanja nastavio bi da se izvršava pozadinski, uz napomenu da u svako doba možemo uraditi attach iste sesije i pristupiti joj direktno sa bilo koje lokacije.

scrn2

Screen komanda dolazi standardno uz svaku Linux distribuciju i ne zahteva omogućavanje eksternih repozitorija softvera. Ukoliko nije podrazumevano instalirana, na CentOS sistemima možete je instalirati korišćenjem yum paket menadžera (yum install screen), odnosno apt-get paket menadžera na Debian baziranim sistemima (apt-get install screen).

Nećemo se detaljno baviti sinstakom same komande (to i nije ideja ovog teksta), ali ćemo reći da je prilično jednostavna za korišćenje. Linux screen komanda ima još mnogo naprednih opcija.

Ovde smo generalno govorili o bazičnim funkcionalnostima Linux Screen komande i nismo se doticali mnogobrojnih naprednih opcija. Za kraj, evo i reference ka tekstu koji se detaljnije bavi ovom tematikom i putem kojeg se možete bliže upoznati sintaksom ove izuzezno korisne komande: http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/

itmogul-logoTekst je preuzet sa ugašenog bloga IT modul i originalni autor ovog teksta je Vladimir Blagojević. Kompjuteraš IT blog će objavljivati tekstove sa tog bloga kako riznica znanja sa te lokacije ne bi otišla u zaborav.

Komentarišite

Email neće biti javno objavljen. Sajt je neobavezan podatak, svi ostali su obavezni.