processes unix process control
Správa procesů v Unixu:
V systému Unix jsou všechny pokyny mimo jádro prováděny v kontextu procesu.
Proces je sled pokynů a ke každému procesu je přidružen blok řízených dat. S procesy lze manipulovat podobným způsobem, jakým lze manipulovat se soubory.
Například, stejně jako „ls“ je možné použít k zobrazení seznamu souborů, „ls“ lze použít k zobrazení seznamu procesů.
Video Unix č. 23:
V tomto kurzu se budeme zabývat tím, jaké informace týkající se procesu jsou uloženy, a také popíšeme některé příkazy, které se používají ke správě procesů. Poskytneme také stručný popis způsobu ladění příkazových skriptů.
Co se naučíte:
Informace o procesu Unix
Tabulka procesů obsahuje informace o všech procesech, které aktuálně běží. Hlavním účelem této tabulky je efektivní správa všech běžících procesů.
Poznámka: Jako multitasking a víceuživatelský operační systém bude mít Unix spuštěno mnoho procesů současně.
Tabulka obsahuje informace jako:
- ID procesu
- ID nadřazeného procesu
- Stav procesů
- využití procesoru
Procesy v Unixu procházejí různými stavy v závislosti na různých okolnostech. Změny stavu mohou být spuštěny tím, zda proces musí čekat na dokončení operace čtení nebo zápisu, nebo když je třeba dát šanci na spuštění jiného naléhavějšího procesu.
Příkazy řízení procesu
Existuje řada příkazů, které jsou k dispozici pro kontrolu a manipulaci s procesy. Příkaz „ps“ lze použít k zobrazení informací o stavu procesu.
Příkaz | ps - poskytuje informace o všech aktuálně spuštěných procesech. |
---|---|
Společná syntaxe | $ ps (MOŽNOSTI) |
Příklad 1 | $ ps Poskytuje informace o procesu včetně PID, názvu terminálu, času vytvoření a názvu procesů. |
Jak je popsáno v dřívějším výukovém programu, procesy lze klasifikovat jako popředí, pozadí nebo démona. Když je příkaz spuštěn z terminálu, běží normálně v popředí. Pro spuštění procesu na pozadí lze použít tlačítko „&“ na konci příkazu.
Příklad:
$ grep “how” file1 > file2 &
Tento příkaz vyhledá řádky obsahující vzor „jak“ a uloží výstup do souboru2. Pokud je soubor1 přiměřeně velký, možná budeme chtít pokračovat s dalšími akcemi a spustit tento příkaz na pozadí. S '&' na konci bude tento příkaz spuštěn jako proces na pozadí.
Proces popředí je možné pozastavit pomocí příkazu „^ Z“. Tento příkaz přesune aktuální proces v popředí do pozastaveného stavu na pozadí. Odtamtud lze proces přesunout na pozadí pomocí příkazu „bg“, nebo jej lze vrátit zpět do popředí pomocí příkazu „fg“.
Každý proces je také spojen s prioritou. To se používá k zajištění toho, že operační systém je schopen spravedlivě přidělit čas různým úlohám zpracování. Příkaz „nice“ lze použít ke snížení priority procesu, a tedy být „pěkný“ vůči ostatním procesům, tj.
bezplatné anime stránky ke sledování online
$ pěkný
Tento řádek spustí zadaný příkaz s nižší prioritou - ve výchozím nastavení bude priorita snížena o 10. Příkaz také přebírá parametr, který lze použít k použití jiné úrovně ‚hezkosti '.
Příklad:
$ nice -20 ls
Tento příkaz běží „ls“ s prioritou sníženou o 20.
Je také možné zvýšit prioritu s negativní ‚pěkností '. To však vyžaduje povolení superuživatele.
Když je terminál nebo relace přihlášení uzavřena, odešle signál SIGHUP do podřízených procesů. Ve výchozím nastavení tento signál způsobí ukončení podřízených procesů. Příkaz „nohup“ lze použít k tomu, aby umožnil pokračování spouštění příkazů, i když je relace přihlášení ukončena.
Příklad:
$ nohup soft file1 > file2
S tímto příkazem bude třídění souboru1 a ukládání v procesu souboru2 pokračovat, i když jsme se ze systému odhlásili.
Příkaz „kill“ lze použít k ukončení kteréhokoli z procesů v závislosti na oprávnění.
Příklad:
$ kill (options)
Tento příkaz ukončí proces s ID procesu. PID procesu lze získat pomocí příkazu „ps“.
Tento příkaz „at“ se používá k provádění příkazů k určitému datu a času v budoucnosti.
Příklad:
$ at 8pm sort file1>file2
Ladění Unixu
Unix poskytuje řadu mechanismů, které vám pomohou najít chyby ve vašich příkazových skriptech. Tyto mechanismy lze použít k zobrazení stopy toho, co se provádí, tj. Sekvence, ve které jsou příkazy prováděny. Trasu lze použít k pochopení a ověření logiky a řízení toku skriptu.
=> set -v
podrobný režim: Nastavení této možnosti před spuštěním příkazu zajistí, že příkaz, který bude proveden, se vytiskne na standardní výstup před jeho skutečným spuštěním.
=> set -x
režim trasování spuštění: Nastavením této možnosti se zobrazí každý příkaz při jeho provádění spolu s jeho argumenty.
=> set -n
režim bez provedení: Nastavením této možnosti se zobrazí všechny chyby, aniž by byly spuštěny jakékoli příkazy.
Podívejte se na náš nadcházející výukový program a dozvíte se o něm více Pokročilé skriptování prostředí.
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Unix zpracovává řídicí příkazy jako Ps a Top (část C)
- Unixové příkazy: Základní a pokročilé Unixové příkazy s příklady
- Příkazy zpracování textu Unix: Unixové filtry s příklady
- Výukový program pro Unix Pipes: Pipes v programování Unixu
- Více filtrů Unix a Awk, příkazů Sed při zpracování textu
- Argumenty příkazového řádku v Unix Shell Script s příkladem
- Výukový program pro UNIX pro začátečníky (20+ podrobných výcvikových videí pro Unix)
- Jak porovnat dva soubory v Unixu: Příkazy pro porovnání souborů