Peaaegu igal Linuxi protsessil on juhtterminal. Aga mis on kontrollterminal? Uurime välja.

Võib-olla olete kuulnud terminit "juhtterminal", mida kasutatakse Linuxi protsesside kohta. Võite olla segaduses, mis on juhtterminal. Õnneks on juhtterminali lihtne mõista.

Mis on juhtimisterminal?

Juhtterminal on terminal, kus käivitub Linuxi protsess. Näiteks kui käivitate käsu kestast, on terminali aken, kuhu käsu sisestasite, juhtterminal.

Juhtterminalidega käivitatud protsessid pärivad ematerminali atribuudid. Selle põhjuseks on protsesside käivitamine Linuxis. Kui käivitate käsku, teeb kest endast koopia ehk "hargib", seejärel asendab end programmiga, mida soovite käivitada, või "execs".

Kuidas näha, millistel protsessidel on juhtterminal

Protsesse, millel on Linuxis juhtterminal, on lihtne näha. Sa võid kasutada ps käsk neid näha.

Saate vaadata kõiki süsteemi kõikidele kasutajatele kuuluvaid protsesse, olenemata sellest, kas neil on juhtterminalid või mitte, kasutades "aux" argument:

ps aux

Kuna see loob Linuxi süsteemides palju väljundit, võib olla kasulik suunata see piiparisse, näiteks vähem:

ps aux | vähem

Esimesi ridu saate vaadata ka peautiliidi abil:

ps aux | pea

Väljundis näete veergu nimega "TTY". See näitab protsessi juhtterminali, kui see on olemas. Juhtterminaliga protsess kuvab "ttyx", kus "x" on terminali number või "pts", millele järgneb kaldkriips (/) ja pseudoterminali rea number.

Kuna enamik terminale on tegelikult terminali emulaatorid, kasutavad nad pseudoterminale või PTY-sid. "Pts" tähistab pigem terminali emulaatorit kui füüsilist terminali või virtuaalne konsool.

Protsessid ilma terminalide juhtimiseta

Enamikus Linuxi süsteemides kuvatakse TTY veerus a küsimärk (?) iseloomu paljudes protsessides. Põhjus on selles, et protsessil pole juhtterminali. Miks see juhtub?

Linuxi süsteemid käitavad taustal palju deemoneid või teenuseid. Need võivad olla serverid, nagu veebiserver, kui ka deemonid, mis teevad palju põhitoiminguid, nagu näiteks võrguühenduse käitamine. Need ei pea terminali kasutama, nii et need töötavad lihtsalt ilma selleta.

Kui käivitate graafilise rakenduse töölauakeskkonna menüüst, pole sellel ka juhtterminali.

Terminali multiplekserid, nagu GNU Screen või tmux, võimaldavad teil protsessi lahti ühendada. Kui logite välja, kuid jätkate süsteemi töötamist, võite avastada, et sellel protsessil puudub ka juhtterminal.

Kui teil on protsess ilma juhtterminalita, millest soovite vabaneda, võite kasutada tapmisutiliiti.

Nüüd teate terminalide juhtimisest

Juhtterminal on terminal, kust käivitasite käsu. Lihtne on näha, millistel protsessidel on käsuga ps juhtterminal ja millistel pole. Ja paljud Linuxi programmid seda ei tee, sest need on deemonid või olete need terminali multiplekseriga eraldanud.

Multiplekserid, nagu tmux, mitte ainult ei muuda kohalikke terminaliseansse sisselogimiste vahel, vaid on ka võimsad tööriistad SSH-kaugühenduste loomiseks.