processes unix process control
Správa procesov v Unixe:
V systéme Unix sa všetky pokyny mimo jadra vykonávajú v rámci procesu.
Proces je postupnosť pokynov a ku každému procesu je priradený blok kontrolovaných údajov. S procesmi je možné manipulovať podobným spôsobom, ako je možné manipulovať so súbormi.
Napríklad, rovnako ako „ls“ je možné použiť na zobrazenie zoznamu súborov, „ls“ sa dá použiť na zobrazenie zoznamu procesov.
Video Unix č. 23:
V tomto výučbe sa budeme venovať tomu, aké informácie o procesoch sú uložené, a tiež popíšeme niektoré príkazy, ktoré sa používajú na správu procesov. Poskytneme tiež stručný popis spôsobu ladenia príkazových skriptov.
Čo sa dozviete:
Informácie o procese Unix
Tabuľka procesov obsahuje informácie o všetkých procesoch, ktoré sú momentálne spustené. Hlavným účelom tejto tabuľky je efektívne riadiť všetky spustené procesy.
Poznámka: Ako multitasking a viacužívateľský OS bude mať Unix spustených veľa procesov súčasne.
Tabuľka obsahuje informácie ako:
- Id procesu
- ID nadradeného procesu
- Stav procesov
- vyuzitie procesora
Procesy v systéme Unix prechádzajú rôznymi stavmi v závislosti od rôznych okolností. Zmeny stavu môžu byť vyvolané tým, či proces musí čakať na dokončenie operácie čítania alebo zápisu, alebo keď je potrebné dať šancu spustiť iný urgentnejší proces.
Príkazy riadenia procesu
Na kontrolu a manipuláciu s procesmi je k dispozícii množstvo príkazov. Príkaz „ps“ možno použiť na zobrazenie informácií o stave procesu.
Velenie | ps - poskytuje informácie o všetkých aktuálne prebiehajúcich procesoch. |
---|---|
Spoločná syntax | $ ps (MOŽNOSTI) |
Príklad 1 | $ ps Poskytuje informácie o procese vrátane PID, názvu terminálu, času vytvorenia a názvu procesov. |
Ako bolo uvedené v predchádzajúcom tutoriáli, procesy môžu byť klasifikované ako popredie, pozadie alebo démon. Keď je príkaz spustený z terminálu, beží v popredí normálne. Na spustenie procesu na pozadí je možné použiť tlačidlo „&“ na konci príkazu.
Windows 10 Predvolená brána nie je k dispozícii
Príklad:
$ grep “how” file1 > file2 &
Tento príkaz vyhľadá riadky obsahujúce vzor „ako“ a výstup uloží do súboru2. Ak je súbor1 primerane veľký, možno budeme chcieť pokračovať v ďalších akciách a spustiť tento príkaz na pozadí. Na konci tohto príkazu bude znak „&“. Tento príkaz sa spustí ako proces na pozadí.
Proces popredia je možné pozastaviť pomocou príkazu „^ Z“. Tento príkaz presunie aktuálny proces popredia do pozastaveného stavu na pozadí. Odtiaľ je možné proces posunúť na obnovenie na pozadí pomocou príkazu „bg“, alebo ho môžete vrátiť späť do popredia pomocou príkazu „fg“.
Každý proces je tiež spojený s prioritou. Používa sa na zabezpečenie toho, že OS je schopný spravodlivo prideliť čas rôznym úlohám spracovania. Príkaz „nice“ môže byť použitý na zníženie priority procesu a tým byť „pekný“ voči ostatným procesom, t.j.
$ pekné
Tento riadok spustí zadaný príkaz s nižšou prioritou - predvolene sa priorita zníži o 10. Príkaz tiež prevezme parameter, pomocou ktorého je možné použiť inú úroveň ‘peknosti’.
Príklad:
$ nice -20 ls
Tento príkaz beží „ls“ s prioritou zníženou o 20.
Je tiež možné zvýšiť prioritu negatívnou „príjemnosťou“. To však vyžaduje povolenie superusera.
Keď je terminál alebo relácia prihlásenia ukončená, odošle signál SIGHUP do podradených procesov. Tento signál predvolene spôsobí ukončenie podradených procesov. Príkaz „nohup“ možno použiť na povolenie pokračovania spustenia príkazov, aj keď je relácia prihlásenia ukončená.
Príklad:
$ nohup soft file1 > file2
Týmto príkazom bude triedenie súboru1 a ukladanie do súboru2 pokračovať, aj keď sme sa zo systému odhlásili.
Príkaz „kill“ možno použiť na ukončenie ktoréhokoľvek z procesov v závislosti od povolení.
Príklad:
$ kill (options)
Tento príkaz ukončí proces s ID procesu. PID procesu je možné získať pomocou príkazu „ps“.
Tento príkaz „at“ sa používa na vykonávanie príkazov v konkrétny dátum a čas v budúcnosti.
c náhodné číslo medzi 0 a 1
Príklad:
$ at 8pm sort file1>file2
Ladenie Unixu
Unix poskytuje množstvo mechanizmov, ktoré vám pomôžu nájsť chyby vo vašich príkazových skriptoch. Tieto mechanizmy možno použiť na zobrazenie stopy toho, čo sa vykonáva, t. J. Postupnosti, v ktorej sa vykonávajú príkazy. Trasu je možné použiť na pochopenie a overenie logiky a riadenia toku skriptu.
=> Set -v
podrobný režim: Nastavením tejto možnosti pred spustením príkazu zabezpečíte, že príkaz, ktorý sa vykoná, sa vytlačí na štandardný výstup pred skutočným vykonaním.
=> množina -x
režim sledovania vykonania: Nastavením tejto možnosti sa zobrazí každý príkaz, ako sa vykonáva, spolu s jeho argumentmi.
=> sada -n
režim bez vykonania: Nastavením tejto možnosti sa zobrazia chyby bez skutočného spustenia akýchkoľvek príkazov.
V našom pripravovanom výučbe sa dozviete viac Pokročilé skriptovanie Shell.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Unix spracováva riadiace príkazy ako Ps a Top (časť C)
- Príkazy Unix: Základné a pokročilé príkazy Unixu s príkladmi
- Príkazy Unixového spracovania textu: Unixové filtre s príkladmi
- Výukový program pre Unix Pipes: Rúry v programovaní v Unixe
- Viac Unixových filtrov a AW, príkazov Sed v spracovaní textu
- Argumenty príkazového riadku v Unix Shell Script s príkladom
- Výukový program pre UNIX pre začiatočníkov (20+ podrobných výcvikových videí Unixu)
- Ako porovnávať dva súbory v systéme Unix: Príkazy na porovnávanie súborov