processes unix process control
Upravljanje procesov v Unixu:
V Unixu se vsa navodila zunaj jedra izvajajo v okviru procesa.
Proces je zaporedje navodil in vsak postopek ima z njim povezan blok nadzorovanih podatkov. Procese je mogoče manipulirati na podoben način kot datoteke.
najboljša aplikacija za prenos youtube videoposnetkov
Na primer, tako kot 'ls' is je mogoče uporabiti za ogled seznama datotek, 'ps' pa za prikaz seznama procesov.
Unix Video # 23:
V tej vadnici bomo obravnavali, katere informacije o procesu so shranjene, in opisali tudi nekatere ukaze, ki se uporabljajo za upravljanje procesov. Priskrbeli bomo tudi kratek opis načina razhroščevanja ukaznih skriptov.
Kaj se boste naučili:
Informacije o procesu Unix
Tabela procesov vsebuje informacije o vseh procesih, ki se trenutno izvajajo. Glavni namen te tabele je učinkovito upravljanje vseh tekočih procesov.
Opomba: Kot večopravilni in več uporabniški operacijski sistem se bo Unix hkrati zagnal več procesov.
Tabela vsebuje informacije, kot so:
- ID procesa
- ID starševskega procesa
- Stanje procesov
- Uporaba procesorja
Procesi v Unixu gredo skozi različna stanja, odvisno od različnih okoliščin. Spremembe stanja lahko sproži, ali mora postopek počakati, da se zaključi operacija branja ali pisanja, ali pa je treba dati priložnost, da se zažene drug bolj nujen postopek.
najboljši brezplačni video pretvornik za Windows
Ukazi za nadzor procesa
Obstajajo številni ukazi, ki so na voljo za pregled in upravljanje procesov. Z ukazom ‘ps’ si lahko ogledate informacije o stanju procesa.
Ukaz | ps - podaja informacije o vseh trenutno izvajanih procesih. |
---|---|
Pogosta sintaksa | $ ps (MOŽNOSTI) |
Primer1 | $ ps Daje informacije o procesu, vključno s PID, imenom terminala, časom ustvarjanja in imenom procesov. |
Kot smo že omenili v prejšnji vadnici, lahko procese razvrstimo v ospredje, ozadje ali demon. Ko se ukaz zažene s terminala, se v ospredju izvaja normalno. Za zagon postopka v ozadju lahko uporabite gumb '&' na koncu ukaza.
Primer:
$ grep “how” file1 > file2 &
Ta ukaz bo poiskal vrstice, ki vsebujejo vzorec 'kako', in bo shranil izhod v datoteki2. Če je datoteka1 razmeroma velika, bomo morda želeli nadaljevati z drugimi dejanji in ta ukaz zagnati v ozadju. Ko bo na koncu znak '&', se bo ta ukaz zagnal kot proces v ozadju.
Postopek ospredja je mogoče zaustaviti z ukazom '^ Z'. Ta ukaz premakne trenutni postopek v ospredju v začasno stanje v ozadju. Od tam lahko postopek potisnete, da se nadaljuje v ozadju z ukazom 'bg', ali pa ga z ukazom 'fg' vrnete v ospredje.
Vsak postopek je povezan tudi s prednostno nalogo. To se uporablja za zagotovitev, da je OS sposoben pravično razporediti čas za različne naloge obdelave. Ukaz ‘lepo’ lahko uporabimo za zmanjšanje prioritete procesa in s tem za druge procese, tj.
$ lepo
V tej vrstici bo navedeni ukaz zagnan z nižjo prioriteto - privzeto se bo prednost zmanjšala za 10. Ukaz vzame tudi parameter, s katerim lahko uporabimo drugačno stopnjo 'lepote'.
Primer:
$ nice -20 ls
Ta ukaz zažene 'ls' s prednostjo, zmanjšano za 20.
Možno je tudi povečati prednost z negativno ‘lepoto’. Vendar je za to potrebno dovoljenje super uporabnika.
Ko je seja terminala ali prijave zaprta, pošlje signal SIGHUP podrejenim procesom. Privzeto bo ta signal povzročil, da se podrejeni procesi zaključijo. Z ukazom 'nohup' lahko ukazi nadaljujejo z izvajanjem, tudi ko je prijavna seja prekinjena.
Primer:
$ nohup soft file1 > file2
S tem ukazom se bo sortiranje datoteke1 in shranjevanje v datoteki2 nadaljevalo, tudi če se bomo odjavili iz sistema.
Ukaz 'kill' lahko uporabimo za zaključek katerega koli procesa, odvisno od dovoljenj.
Primer:
$ kill (options)
Ta ukaz bo zaključil postopek z ID-jem procesa. PID procesa lahko dobite z ukazom 'ps'.
Ta ukaz ‘at’ se uporablja za izvajanje ukazov na določen datum in uro v prihodnosti.
vzorec življenjepisa za izkušenega preizkuševalca programske opreme
Primer:
$ at 8pm sort file1>file2
Odpravljanje napak Unixa
Unix ponuja številne mehanizme za pomoč pri iskanju napak v ukaznih skriptih. Ti mehanizmi se lahko uporabljajo za ogled sledi tega, kar se izvaja, tj. Zaporedja, v katerem se izvajajo ukazi. Sled lahko uporabimo za razumevanje in preverjanje logike in krmilnega toka skripta.
=> nastavite -v
podroben način: Če nastavite to možnost pred izvajanjem ukaza, boste zagotovili, da se ukaz, ki se bo izvajal, natisne v stdout, preden se dejansko izvede.
=> nastavi -x
način sledenja izvedbe: Če nastavite to možnost, bo vsak ukaz prikazan, ko se izvrši, skupaj z njegovimi argumenti.
=> nastavite -n
način brez izvrševanja: Če nastavite to možnost, se prikažejo napake, ne da bi se dejansko izvajali ukazi.
Oglejte si našo prihajajočo vadnico, če želite izvedeti več o tem Napredno skriptno lupino.
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Ukazi za nadzor procesov Unix, kot sta Ps in Top (Del C)
- Ukazi Unix: osnovni in napredni ukazi Unix s primeri
- Ukazi za obdelavo besedila Unix: filtri Unix s primeri
- Vadnica za cevi Unix: Cevi v programiranju Unix
- Več ukazov Unix Filter in Awk, Sed pri obdelavi besedila
- Argumenti ukazne vrstice v skriptu lupine Unix s primerom
- Vadnica za začetnike za UNIX (20+ poglobljenih videoposnetkov o usposabljanju za Unix)
- Kako primerjati dve datoteki v Unixu: Ukazi za primerjavo datotek