Gandrīz katram Linux procesam ir vadības terminālis. Bet kas vispār ir kontrolējošs terminālis? Noskaidrosim.

Iespējams, esat dzirdējuši terminu “kontrolējošais terminālis”, ko lieto saistībā ar Linux procesiem. Jūs varētu būt neizpratnē par to, kas ir vadības terminālis. Par laimi, vadības terminālis ir viegli saprotams.

Kas ir vadības terminālis?

Kontrolējošais terminālis ir terminālis, kurā sākas Linux process. Piemēram, ja palaižat komandu no čaulas, termināļa logs, kurā ievadījāt komandu, ir vadības terminālis.

Procesi, kas palaisti ar kontroles termināļiem, pārmanto vecāktermināļa atribūtus. Tas ir saistīts ar procesu palaišanu operētājsistēmā Linux. Kad palaižat komandu, apvalks izveido sevis kopiju jeb “dakšas”, pēc tam aizstāj sevi ar programmu, kuru vēlējāties palaist, vai “execs”.

Kā redzēt, kuriem procesiem ir vadības terminālis

Ir viegli redzēt procesus, kuriem Linux ir vadības terminālis. Tu vari izmantot ps komanda lai tās redzētu.

Jūs varat redzēt visus procesus, kas pieder visiem sistēmas lietotājiem neatkarīgi no tā, vai viņiem ir vai nav vadības termināļi, izmantojot

"aux" arguments:

ps aux

Tā kā tas Linux sistēmās rada daudz izvades, var būt noderīgi to ievietot peidžerī, piemēram, mazāk:

ps aux | mazāk

Varat arī apskatīt dažas pirmās rindiņas, izmantojot utilītu head:

ps aux | galvu

Izvadē redzēsit kolonnu ar nosaukumu “TTY”. Tas norāda procesa vadības termināli, ja tāds ir. Process ar vadības termināli parādīs “ttyx”, kur “x” ir termināļa numurs vai “pts”, kam seko slīpsvītra (/) un pseidotermināla rindas numurs.

Tā kā lielākā daļa termināļu faktiski ir termināļa emulatori, tie izmanto pseidotermināļus vai PTY. Punkti apzīmē termināļa emulatoru, nevis fizisko termināli vai virtuālā konsole.

Procesi bez termināļu kontroles

Lielākajā daļā Linux sistēmu kolonnā TTY tiks parādīts a jautājuma zīme (?) raksturs daudzos procesos. Tas ir tāpēc, ka procesam nav vadības termināļa. Kāpēc tas notiek?

Linux sistēmās fonā darbojas daudz dēmonu vai pakalpojumu. Tie var būt serveri, piemēram, tīmekļa serveris, kā arī dēmoni, kas veic daudzas pamata darbības, piemēram, vada tīkla savienojumu. Tiem nav nepieciešams izmantot termināli, tāpēc tie darbojas bez tā.

Ja palaižat grafisku programmu no darbvirsmas vides izvēlnes, arī tai nebūs vadības termināļa.

Termināla multipleksori, piemēram, GNU Screen vai tmux, ļauj atdalīt procesu. Ja atsakāties, bet sistēma turpinās darboties, iespējams, ka šim procesam trūkst arī vadības termināļa.

Ja jums ir process bez kontroles termināļa, no kura vēlaties atbrīvoties, varat izmantot utilītu.

Tagad jūs zināt par termināļu kontroli

Kontrolējošais terminālis ir terminālis, no kura palaidāt komandu. Ir viegli redzēt, kuriem procesiem ir un kuriem nav vadības termināļa ar komandu ps. Un daudzas Linux programmas to nedara, jo tās ir dēmoni, vai arī jūs tās esat atdalījis ar termināļa multipleksoru.

Multiplekseri, piemēram, tmux, ne tikai nodrošina vietējo termināļa sesiju pastāvību pieteikšanās laikā, bet arī ir spēcīgi rīki attāliem SSH savienojumiem.