Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Püsivad terminalisessioonid: tmux ja screen, mis kuulub osasse Osa III: Failid, võrk ja süsteemitöö.

Püsivad terminalisessioonid: tmux ja screen

tmux hoiab shelli ja selles käivitatud töö serveris alles ka pärast SSH-ühenduse katkemist. Hiljem saad sama sessiooni juurde tagasi tulla. Käivita tmux sellel masinal, kus töö peab jätkuma, kaugkasutuses seega pärast serverisse logimist.

See ei kaitse serveri väljalülitamise, taaskäivituse ega protsessi krahhi eest. Taustamärk & üksi ei anna samuti püsivat terminalisessiooni.

Katse: lahku ja tule tagasi

tmux new -s opik loob nimega opik sessiooni ja avab selle sees uue shelli. Kui sessioon on juba olemas, vali teine nimi või ühendu olemasolevaga.


tmux new -s opik

Nüüd oled sessiooni sees. Käivita lühike ootamine:


sleep 60

Vajuta Ctrl-b, lase klahvid lahti ja vajuta d. See on eraldumine (*detach*), mitte väljumine: sleep jätkab tööd.

Nüüd oled sessioonist väljas. tmux ls loetleb sessioonid; attach -t valib sessiooni, mille juurde naasta:


tmux ls
tmux attach -t opik

Kui minut pole möödunud, ootab sleep endiselt. Muidu näed taas viipa. Vajadusel katkesta ootamine Ctrl-c-ga. exit lõpetab sessioonis oleva shelli; kui see oli viimane aken, lõpeb ka sessioon. Ära aja exit-it segi eraldumisega.

Sama tööviis screen-iga

Kui masinas on tmux asemel screen, kasuta neid vasteid:

Toimingscreen-i kuju
loo nimega sessioonscreen -S opik
eraldu sessiooni seestCtrl-a, seejärel d
loetle väljast sessioonidscreen -ls
naase väljast sessiooniscreen -r opik

Vali üks tööriist; mõlemat pole vaja sama katse sees käivitada.

Sessioon või üks taustatöö?

tmux ja screen säilitavad terminali, millega saab uuesti ühenduda. Protsesside peatüki nohup muudab ühe töö käitumist ühenduse katkemisel ning disown eemaldab töö shelli tööde loendist; kumbki ei anna sama terminalivaadet tagasi.

Minitest

  1. Loo nimega sessioon, eraldu ja ühendu uuesti.
  2. Millisel masinal peab sessioon töötama, et sülearvuti sulgemine serveritööd ei lõpetaks?
  3. Mis vahe on eraldumisel, exit-il ja serveri taaskäivitamisel?

Peatüki täisspikker

Praktiline kasutus

Eesmärk

Säilita interaktiivne serverisessioon ka SSH-ühenduse katkemisel.

Käsud ja näited

  • tmux new -s katseloo nimega sessioon
  • tmux lsloetle sessioonid välisest shellist
  • tmux attach -t katseühendu olemasoleva sessiooniga
  • screen -S katsealternatiiv: loo screeni sessioon
  • screen -r katsetaasühendu eraldatud screeniga

Märgid ja valikud

  • Ctrl-b, siis dtmux: eraldu, töö jätkub
  • Ctrl-a, siis dscreen: eraldu, töö jätkub
  • exitlõpeta praeguse akna shell