processes unix process control
Upravljanje procesima u Unixu:
U Unixu se sve upute izvan jezgre izvršavaju u kontekstu procesa.
Proces je slijed uputa i svaki proces ima blok kontroliranih podataka koji je povezan s njim. Procesima se može manipulirati na način sličan onome kako se može manipulirati datotekama.
Na primjer, poput 'ls' is može se koristiti za prikaz popisa datoteka, 'ps' se može koristiti za prikaz popisa procesa.
Unix Video # 23:
U ovom ćemo uputstvu pokriti koje su informacije povezane s procesom pohranjene, a također ćemo opisati neke naredbe koje se koriste za upravljanje procesima. Također ćemo pružiti kratki opis načina na koji se skripte za naredbe mogu ispraviti.
Što ćete naučiti:
- Informacije o Unix procesu
- Naredbe za kontrolu procesa
- Otklanjanje pogrešaka u Unixu
- Preporučena literatura
Informacije o Unix procesu
Tablica procesa sadrži informacije o svim procesima koji su trenutno pokrenuti. Glavna svrha ove tablice je učinkovito upravljanje svim pokrenutim procesima.
što mogu učiniti s c ++-om
Bilješka: Kao multitasking i višekorisnički OS, Unix će istodobno izvoditi mnoge procese.
Tablica sadrži informacije poput:
- Id procesa
- ID roditeljskog postupka
- Stanje procesa
- korištenje CPU-a
Procesi u Unixu prolaze kroz različita stanja, ovisno o raznim okolnostima. Promjene stanja mogu se pokrenuti time treba li postupak pričekati da se operacija čitanja ili pisanja dovrši ili kada treba pružiti priliku drugom pokretačkom procesu.
Naredbe za kontrolu procesa
Postoji niz naredbi koje su dostupne za pregled i upravljanje procesima. Naredba ‘ps’ može se koristiti za prikaz informacija o statusu procesa.
Naredba | ps - daje informacije o svim trenutno pokrenutim procesima. |
---|---|
Uobičajena sintaksa | $ ps (OPCIJE) |
Primjer1 | $ ps Daje informacije o procesu, uključujući PID, naziv terminala, vrijeme izrade i naziv procesa. |
Kao što je raspravljano u ranijem vodiču, procesi se mogu klasificirati kao prvi plan, pozadina ili demon. Kada se naredba pokrene s terminala, ona se u prvom planu izvodi normalno. Da bi se postupak pokrenuo u pozadini, može se koristiti gumb '&' na kraju naredbe.
Primjer:
$ grep “how” file1 > file2 &
Ova naredba će tražiti retke koji sadrže uzorak 'kako' i pohranit će izlaz u datoteku2. Ako je datoteka1 razumno velika, možda ćemo htjeti nastaviti s drugim radnjama i pokrenuti ovu naredbu u pozadini. Sa '&' na kraju, ova će se naredba izvoditi kao postupak u pozadini.
Moguće je obustaviti postupak u prvom planu pomoću naredbe ‘^ Z’. Ova naredba premješta trenutni postupak u prednjem planu u suspendirano stanje u pozadini. Odatle se postupak može pritisnuti da se nastavi u pozadini pomoću naredbe 'bg' ili se može vratiti u prvi plan pomoću naredbe 'fg'.
Svaki je postupak također povezan s prioritetom. To se koristi kako bi se osiguralo da OS može pošteno dodijeliti vrijeme različitim zadacima obrade. Naredba 'lijepo' može se koristiti za smanjenje prioriteta procesa i na taj način biti 'lijepo' za ostale procese, tj.
što su usluge tima za vizualni studio
$ lijepo
Ovaj će redak izvoditi navedenu naredbu s nižim prioritetom - prema zadanim postavkama, prioritet će se smanjiti za 10. Naredba također uzima parametar koji se može koristiti za korištenje druge razine 'lijepoće'.
Primjer:
$ nice -20 ls
Ova naredba pokreće 'ls' s prioritetom smanjenim za 20.
Također je moguće povećati prioritet negativnom ‘finoćom’. Međutim, za to je potrebno dopuštenje superkorisnika.
Kada je terminal ili sesija prijave zatvorena, šalje signal SIGHUP u podređene procese. Prema zadanim postavkama, ovaj će signal uzrokovati prekid podređenih procesa. Naredba 'nohup' može se koristiti za omogućavanje nastavka izvođenja naredbi čak i kada je sesija prijave prekinuta.
Primjer:
$ nohup soft file1 > file2
Ovom naredbom nastavlja se sortiranje datoteke1 i spremanje u datoteku2 čak i ako smo se odjavili iz sustava.
Naredba 'kill' može se koristiti za završetak bilo kojeg procesa, ovisno o dozvolama.
Primjer:
swf datoteka se neće otvoriti u kromu
$ kill (options)
Ova naredba će završiti proces s ID-om procesa. PID procesa može se dobiti pomoću naredbe ‘ps’.
Ova naredba 'at' koristi se za izvršavanje naredbi na određeni datum i vrijeme u budućnosti.
Primjer:
$ at 8pm sort file1>file2
Otklanjanje pogrešaka u Unixu
Unix nudi niz mehanizama koji pomažu u pronalaženju grešaka u vašim skriptama naredbi. Ovi se mehanizmi mogu koristiti za prikaz traga onoga što se izvršava, tj. Slijeda u kojem se izvršavaju naredbe. Trag se može koristiti za razumijevanje i provjeru logike i upravljanja protokom skripte.
=> postavi -v
opširni način: Postavljanje ove opcije prije pokretanja naredbe osigurat će da se naredba koja će se izvršiti ispisuje u stdout prije nego što se stvarno izvrši.
=> postavi -x
način praćenja izvršenja: Postavljanjem ove opcije prikazat će se svaka naredba dok se izvršava zajedno s argumentima.
=> postavi -n
način rada bez izvršenja: Postavljanjem ove opcije prikazuju se bilo kakve pogreške, a da se zapravo ne pokreću naredbe.
Pogledajte naš predstojeći vodič da biste saznali više o tome Napredno skriptiranje ljuske.
Preporučena literatura
- Unixove naredbe za kontrolu poput Ps i Top (dio C)
- Unix naredbe: osnovne i napredne Unix naredbe s primjerima
- Naredbe za obradu teksta Unix: Unix filtri s primjerima
- Vodič za Unix cijevi: Cijevi u Unix programiranju
- Više Unix filtara i naredbe Awk, Sed u obradi teksta
- Argumenti naredbenog retka u skripti ljuske Unix s primjerom
- UNIX vodič za početnike (20+ detaljnih videozapisa o obuci za Unix)
- Kako usporediti dvije datoteke u Unixu: naredbe za usporedbu datoteka