Kaip peržiūrėti ir paleisti „Linux“ foninius procesus

Procesų vykdymas yra gyvybiškai svarbus bet kurioje naudojamoje operacinėje sistemoje, nes jie užtikrina, kad ir programos, ir kiti operacinės sistemos elementai gali tinkamai veikti tiek suderinamumo, tiek jų funkcijų vykdymo metu.

Kiekviena operacinė sistema gali apdoroti procesus skirtingai, tačiau Linux atveju procesai paprastai yra susieti su terminalu. Tai reiškia, kad jis turi būti atidarytas, kad procesas galėtų normaliai veikti, tačiau dėl šio veiksmo gali kilti tokių situacijų:

  • Atidarytame terminale gali būti daug išvesties duomenų arba klaidų / diagnostikos pranešimų, dėl kurių sunku ne tik nuskaityti duomenis, bet ir juos valdyti.
  • Jei uždarytume terminalą, procesas kartu su antriniais procesais baigsis tiesiogiai paveikdamas atliekamą užduotį.

Tokio tipo scenarijuje būtina atlikti būtinus procesus fone; foninis procesas yra procesas, kuris bus vykdomas paslėptu būdu, o jo veikimui nereikia vartotojo įsikišimo, nors terminalas yra uždarytas, procesas ir toliau atliks savo užduotį. Fono procesai taikomi toms užduotims, kurios gali užtrukti, pvz., Scenarijams, failų atsisiuntimui ir kitoms, kai nieko neveikdami negalime laukti, kol veiksmas bus baigtas.

„Linux“ sistemoje galime vykdyti procesus priekiniame plane arba fone. Programa, esanti priešakyje, kai ji vykdoma terminale, negalėsime vykdyti jokios kitos komandos, kol procesas nesibaigs, tačiau tai galima padaryti fone arba fone.

Programa, kuri vieną kartą paleidžiama fone, nenaudoja terminalo nuo jo paleidimo iki pabaigos. Norėdami vykdyti programinę įrangą ar komandą fone iš terminalo, mes pridedame Jei norimos vykdyti komandos ar scenarijaus pabaigoje pridėsime simbolį (&), operacinė sistema jį vykdys fone. Pavyzdys:

 nano ir 
„Solvetic“ paaiškins, kaip galime matyti ir vykdyti foninius procesus „Linux“.

1. Žiūrėkite procesų sąrašą su ps komanda „Linux“


Naudodami komandą ps komanda galime sužinoti proceso būseną.Ps yra proceso būsena arba proceso būsena. Komanda ps nenurodo procesų ir nurodo kai kuriuos PID, TTY, TIME ir CMD stulpelius.

PID (proceso numeris)Kiekvienas procesas gauna unikalų identifikavimo numerį, kurį priskiria „Linux“ branduolys.

TTYyra su procesu susijęs terminalas, jis taip pat gali būti kitas įvesties įrenginys.

LAIKASLaikas, per kurį procesas vyko.

CMDTai yra vykdomos komandos pavadinimas, bash yra apvalkalo procesas.

Pavyzdžiui, su komanda ps -A ji parodys mums visus vykdomus procesus.

2. Pradėkite foninį procesą arba komandą „Linux“ naudodami „bg“ „Linux“


Komanda bg buvo sukurta kaip darbo valdymo komanda, kuri atnaujina sustabdytas užduotis, bet vykdo jas fone.

1 žingsnis
Pagrindinė šios komandos sintaksė yra tokia:

 bg [darbas] 
2 žingsnis
Jei procesas jau vyksta, turime jį paspausti paspausdami šiuos klavišus ir įvesdami komandą „bg“, kad tęstume vykdymą fone kaip užduotį. Šiame pavyzdyje naudosime šias eilutes:

Ctrl + Z

 tar -czf home.tar.gz. (vykdomas procesas, kuris bus sustabdytas naudojant „Ctrl“ + Z) bg (komandos vykdymas fone) užduotys (atliktų užduočių vizualizacija)

3 žingsnis
Matome, kad procesas vis dar vyksta, bet dabar fone. Taip pat bus galima vykdyti procesą tiesiogiai fone, jo pabaigoje įvedus simbolį:

 tar -czf home.tar.gz. & Darbai 

3. Išėję iš „Linux“ terminalo išsaugokite veikiančius „Linux“ procesus


Tai yra esminis dalykas, nes, kaip jau minėjome, įprastu režimu, kai terminalas uždarytas, visi aktyvūs procesai baigsis, kad būtų galima leisti jiems toliau veikti net ir uždarius terminalą.

Šiuo tikslu galime naudoti komandą „Disown“, kuri bus naudojama po to, kai procesas bus pradėtas ir įjungtas į foną. „Disown“ komanda yra apvalkalo užduotis, kurios užduotis yra pašalinti užduotis iš aktyvaus „Shell“ sąrašo.

1 žingsnis
Įvykdžius atsisakymą, kai uždarysime terminalą, užduotis nesuges ir nesiųs SIGHUP į jokį antrinį darbą. Jo pagrindinė sintaksė yra tokia:

 paneigti jobID 
2 žingsnis
Jo veikimui atliksime šiuos veiksmus:
 sudo rsync Templates / * / var / www / html / files / & (vykdyti komandą) užduotys (aktyvios užduotys) disown -h% 1 (nurodymas neuždaryti proceso ar komandų) užduotys (darbų rodymas)

PastabaJei vykdome daugiau nei vieną procesą ar komandą, matome, kad kiekvienas iš jų gauna identifikavimo ID, kuris turi būti įvestas atmetus, kad būtų nurodytas, kuris procesas bus tęsiamas.

3 žingsnis
Naudojant atsisakymo parinktis, yra šios:

-įPašalina visas užduotis, jei užduoties ID nėra pateiktas.

-hPažymi kiekvieną užduoties ID, kad SIGHUP nebūtų siunčiamas į užduotį, jei apvalkalas gauna SIGHUP.

-rIšvalomi tik vykdomi darbai.

4. Išėję iš „Linux“ terminalo išsaugokite veikiančius „Linux“ procesus


Pagrindinė komandos nohup užduotis yra neleisti komandai automatiškai atšaukti, kai atsijungiate arba išeinate iš apvalkalo. Naudojant komandą nohup (be pakabinimo), sustabdymo signalas (HUP), kuris siunčiamas procesui, kuris informuoja jį, kad vartotojas atsijungė, yra perimamas nohup, kad procesas galėtų tęstis sekundėmis.

1 žingsnis
Naudojimo sintaksė yra tokia:

 komanda nohup [komanda-argumentas …] 
2 žingsnis
Šiuo atveju naudosime šį pavyzdį. Jei standartinis įėjimas yra terminalas, „nohup“ jį peradresuoja iš / dev / null. Todėl terminalo įvestis neįmanoma, kai vykdoma komanda su nohup. Jei standartinė išvestis yra terminalas, komandų išvestis pridedama prie failo nohup.out arba $ HOME / nohup.out. Jei standartinė klaida yra terminalas, ji nukreipiama į standartinę išvestį. Norėdami išsaugoti išvestį į failą, turime naudoti „nohup command> file“.
 nohup tar -czf iso.tar.gz Templates / * & jobs

5. Terminale atsiekite „Linux“ procesą

1 žingsnis
Jei tikslas yra visiškai atskirti procesą nuo terminalo, turėtume naudoti šią sintaksę:

 app / dev / null & 
2 žingsnis
Pavyzdžiui:
 firefox / dev / null & 

6. Naudokite foninius procesus su „Screen“ „Linux“


Jei fone naudosite komandą su parinktimis nohup ir &), ji bus vykdoma net ir uždarius seansą, problema ta, kad vėl prisijungę prie tos pačios sesijos, nematysime aktyvaus darbo fone, norint tai ištaisyti, yra ekrano komanda.

ekranas yra viso ekrano langų tvarkyklė, valdanti fizinį terminalą tarp kelių procesų, paprastai apvalkalai yra interaktyvūs. Kiekvienas virtualus terminalas siūlo DEC VT100 terminalo funkcijas ir keletą ISO 6429 (ECMA 48, ANSI X3.64) ir ISO 2022 standartų valdymo funkcijų, kurios daro jį itin dinamišką.

Kai paleidžiame ekraną, sukuriamas vienas langas su apvalkalu arba nurodyta komanda ir tada apeinamas, kad būtų galima normaliai naudotis programa.

1 žingsnis
Norėdami įdiegti ekraną „Linux“, atliksime šiuos veiksmus. Ten mes įvedame raidę S, kad patvirtintume atsisiuntimą ir įdiegimą.

 sudo apt įdiegimo ekranas

2 žingsnis
Įdiegę vykdome komandą „ekranas“ ir pamatysime šiuos dalykus:

3 žingsnis
Ten paspaudžiame klavišą „Enter“, kad būtų nukreiptas į naują langą, kuriame vykdome procesą ar komandą, kurią norite naudoti fone:

 sudo tar czf temp.tar.gz / tmp & 

4 žingsnis
Galėsime vizualizuoti aktyvius langus naudodami. Norėdami išeiti iš ekrano sesijos, galime naudoti klavišus

Ctrl + a + d

Ctrl + alt + d

 ekranas -ls 

7. Sustabdykite arba nužudykite sustabdytą ar foninį procesą „Linux“


Šiam veiksmui, kurį sudaro proceso vykdymo užbaigimas fone, galime naudoti komandą „kill“ ir vietoj PID galime nurodyti darbo identifikatorių, pavyzdžiui:
 darbai (išvardyti dabartines darbo vietas) nužudyti% 2 (nužudyti arba nutraukti procesą identifikuoja kaip 2)

8. Sustabdykite procesą arba nukelkite jį į antrą planą


Kai kurios programos užtrunka ilgai, ir tuo tarpu jos nieko svarbaus nedaro. Programų sudarymas yra viena iš šių užduočių, kaip ir didelio failo suspaudimas. Nėra prasmės nustoti naudotis kompiuteriu, kol šie procesai baigiasi ir sunaudoja išteklius. Tokiais atvejais geriau juos paleisti fone, palikti kompiuterį taip, kad būtų galima paleisti kitą programą.

Procesai gali būti sustabdyti. Sustabdytas procesas yra tas, kuris šiuo metu neveikia, bet yra laikinai sustabdytas. Sustabdę užduotį, galite nurodyti užduotį tęsti pirmame plane arba antroje vietoje, jei reikia. Sustabdytos užduoties atnaujinimas visiškai nekeičia užduoties būsenos, nes ji ir toliau bus vykdoma ten, kur baigė.

1 žingsnis
Norėdami nutraukti procesą, naudojamas toks derinys, paspaudus šį derinį, procesas miršta ir visi ištekliai atleidžiami.

Ctrl + C

2 žingsnis
Pabandykime siųsti pasikartojančią komandą į foną. „Taip“ komanda naudojama scenarijui, kuriam reikia daug patvirtinimų, išbandyti. Tai, ką jis daro, yra kartoti „ir“ su viskuo, kas prieš tai parašyta be galo, kol scenarijus bus sustabdytas arba vartotojas jį sustabdys:

  • Jei terminale įvesime „taip“ ir pamatysime begalinį „ir“ sąrašą.
  • Jei terminale įvesime „taip labas“ ir pamatysime begalinį sveikinimų sąrašą

3 žingsnis
Norėdami ištrinti failą nespausdami jokio klavišo, kai jis prašo patvirtinimo, galime naudoti

 taip | rm -i * .txt 
4 žingsnis
Norėdami nusiųsti procesą į foną, mes jį vadiname iš komandinės eilutės, po to ir sukuriame begalinius nulinius įrenginius
 taip> / dev / null & 
5 žingsnis
Tai parodys mums užduoties numerį ir pid [1] 4106. Jei dabar naudosime komandą „job“, pamatysime
 [1] + Vykdoma taip> / dev / null &
6 žingsnis
norėdami jį iškelti į pirmąjį planą, rašome fg 1 ir užmušime procesą kill 4106, kuris yra pid.
 Fg 1 Nužudyk 4106
Pasirinkus bet kurią iš nurodytų parinkčių, bus galima daug centralizuotai valdyti foninius procesus „Linux“ ir taip leisti atlikti reikiamas užduotis net ir uždarius seansą.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave