abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 00:33 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje na kritickou zranitelnost ve WordPressu umožňující vzdálené spuštění libovolného kódu. Prakticky se jedná o kombinací dvou různých zranitelností (Directory Traversal a Local File Inclusion), pro jejichž úspěšné zneužití musí útočník získat v rámci instance WordPressu alespoň oprávnění autora.

Ladislav Hagara | Komentářů: 0
včera 17:33 | Nová verze

Po dvou a půl letech od vydání verze 5.0.0 byla oficiálně vydána nová major verze 6.0.0 správce digitálních fotografií a nově i videí digiKam (digiKam Software Collection). Přehled novinek i s náhledy v oficiálním oznámení. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 00:44 | Komunita

Do 2. dubna se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 20. května do 20. srpna 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 1
včera 00:11 | Bezpečnostní upozornění

Byly zveřejněny informace o o bezpečnostní chybě CVE-2019-6454 ve správci systému a služeb systemd (PID 1). Běžný uživatel jej může shodit připravenou D-Bus zprávou. V upstreamu je chyba již opravena [reddit].

Ladislav Hagara | Komentářů: 3
18.2. 22:44 | Nová verze

Byla vydána nová verze 2019.1 průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek v changelogu. Vývojáři zdůrazňují Linux 4.19.13 a díky němu opětovnou podporu Banana Pi a Banana Pro, aktualizaci nástrojů jako theHarvester nebo DBeaver a Metasploit Framework ve verzi 5.0. Aktualizovat Kali Linux lze pomocí příkazů "apt update && apt -y full-upgrade".

Ladislav Hagara | Komentářů: 0
18.2. 13:33 | Zajímavý článek

Craig Loewen se v příspěvku na blogu Microsoftu věnuje novinkách ve WSL (Windows Subsystem pro Linux), které přinese Windows 10 1903. Jedná se především o možnost přístupu z Windows (Průzkumník souborů, explorer.exe) k souborům v nainstalovaných linuxových distribucích. Použit je protokol 9P.

Ladislav Hagara | Komentářů: 10
18.2. 10:44 | Zajímavý software

Byl vydán Hangover ve verzi 0.4.0. Jedná se o součást projektu Wine umožňující spouštět Windows aplikace pro x86 a x86_64 na architektuře ARM64 (AArch64). Zdrojové kódy této alfa verze jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 1
17.2. 03:00 | Nová verze

Byla vydána nová major verze 3.0.0-1 linuxového prostředí pro operační systémy Windows Cygwin (Wikipedie). Přehled novinek v oficiálním oznámení.

Ladislav Hagara | Komentářů: 6
17.2. 02:00 | Nová verze

Byl vydán Debian 9.8, tj. osmá opravná verze Debianu 9 s kódovým názvem Stretch. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Předchozí instalační média Debianu 9 Stretch lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 0
15.2. 12:33 | Pozvánky

Příští týden bude na MFF UK zahájena série přednášek o architektuře a implementaci operačních systémů. Mezi přednášejícími budou odborníci z firem Kernkonzept, Oracle, Red Hat, SUSE či SYSGO. Pokud si chcete rozšířit obzory (virtualizace, ptrace, ZFS, kdump, ...), vyberte si z harmonogramu téma, které vás zajímá a přijďte. Přednášky se konají každý čtvrtek od 15:40 v učebně S4 na Malostranském náměstí 25 v Praze. Přednášky jsou přístupné veřejnosti (registrace není nutná), studenti UK a ČVUT si je mohou zapsat jako standardní předmět.

Vojtěch Horký | Komentářů: 19
Máte v desktopovém prostředí zapnutou zvukovou znělku po přihlášení se do systému?
 (7%)
 (1%)
 (90%)
 (1%)
Celkem 353 hlasů
 Komentářů: 11, poslední 14.2. 07:59
Rozcestník

Procesy

Proces vlastně není nic jiného, než program, který je spuštěn a běží. Synonymem pro proces může být slovo úloha (task). Linux je od počátku víceúlohový systém, takže v něm může současně1 běžet více procesů. Stejně jako soubory, tak i procesy jsou vlastněny určitým uživatelem, podléhají přístupovým právům.

Na uživatelské úrovni jsou soubory identifikovány svým jménem (které odpovídá jménu spustitelného souboru), ale systém je jednoznačně identifikuje číslem. Jak je vidět na části příkazu top.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13743 root      15   0 98.4m  21m 1660 S 12.3  8.5   1:52.07 X
14057 misak     15   0 61884  45m  19m S  4.3  9.0   0:59.27 konqueror
14047 misak     15   0 80420  36m  22m S  2.3  7.5   1:14.01 amarokapp
Prvním procesem, který je spuštěn a má pořadové číslo 1 je init. Všechny další procesy jsou jeho potomky a jeho zabití vede k ukončení celého systému. Další proces má přiřazeno číslo 2, 3, ..., až po jisté číslo n. Jeho hodnota bývá nejčastěji 32768. Skutečná hodnota na vašem systému je uložena v souboru /proc/sys/kernel/pid_max. Pokud systém dosáhne maxima, začne přidělovat volná čísla zase od začátku.

Informace o běžících procesech

Jeden příkaz jsem už uvedl a to je příkaz top. Je to interaktivní program a slouží k výpisu procesů, který je seřazen podle určitého klíče. Nejčastěji se řadí podle spotřebovaného procesorového času, ale je možné klíč změnit a řadit třeba podle zabrané paměti. Ještě pokročilejší je program htop který dokáže procesům posílat signály a podporuje barevné terminály.

Klasičtějším způsobem zobrazení procesů je program ps. Tento program je zvláštní tím, že má SystemV a BSD verzi s jinými parametry příkazové řádky. GNU verze tohoto příkazu, která se používá na Linuxu naštěstí zvládá oba dva způsoby. BSD syntaxe je zajímavá faktem, že se v ní parametry neoznačují pomlčkou, jak je tomu prakticky u všech ostatních programů. Protože bylo FreeBSD mým prvním unixem, používám pouze BSD syntaxi.

Příkaz ps bez parametrů pouze vypíše procesy spojené s jedním konkrétním terminálem.

$ ps
  PID TTY          TIME CMD
30482 pts/6    00:00:00 bash
  583 pts/6    00:00:00 ps
Volba x zajistí vypsání všech vašich procesů
$ ps x
  PID TTY      STAT   TIME COMMAND
13955 ?        Ss     0:00 /bin/sh /usr/kde/3.5/bin/startkde
13982 ?        Ss     0:00 gpg-agent --daemon
...
32128 ?        Ss     0:01 gvim semestralka.tex
  553 ?        S      0:00 ispell -a -S -m -C -d czech
  590 pts/2    R+     0:00 ps x
Pokud vás zajímají procesy, které mají spuštěné i ostatní, použijete volbu a, ale takto byste získali pouze procesy připojené k danému terminálu. Proto musíme přidat i volbu x, která zajistí výpis procesů všech uživatelů na všech terminálech (na něm vidíte, že init má skutečně číslo 1).
$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        S      0:00 init [3]
    2 ?        SN     0:00 [ksoftirqd/0]
...
32128 ?        Ss     0:01 gvim semestralka.tex
32525 ?        S      0:03 konsole
32526 pts/7    Ss     0:00 /bin/bash
  623 ?        S      0:00 ispell -a -S -m -C -d czech
  649 pts/6    R+     0:00 ps ax
Tento výpis není příliš dobrý, protože nezjistíte, kterému uživateli patří který proces. Parametr u zajistí podrobnější výpis.
$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   1476   396 ?        S    Jan05   0:00 init [3]
root         2  0.0  0.0      0     0 ?        SN   Jan05   0:00 [ksoftirqd/0]
...
misak    32128  0.0  3.3  19084  8520 ?        Ss   18:34   0:01 gvim semestralka.tex
misak    32525  0.1  6.5  30460 16796 ?        S    18:57   0:03 konsole
misak    32526  0.0  0.6   3544  1776 pts/7    Ss+  18:57   0:00 /bin/bash
misak      623  0.1  4.1  12088 10736 ?        S    19:16   0:01 ispell -a -S -m -C -d czech
misak      726  0.0  0.3   2896   964 pts/6    R+   19:28   0:00 ps aux


Zabíjení

A na závěr si ukážeme jak procesy zabíjet. Dejme tomu, že chceme ukončit program gvim s otevřeným souborem semestralka.tex. Pokud si necháme vypsat všechny procesy pomocí ps aux, jen těžko budeme hledat náš program. Proto můžeme využít rouru (pipe), skrz kterou pošleme výpis programu ps do programu grep jež výsledek vypíše na stdout (obrazovku).

$ ps aux |grep gvim
misak    32128  0.0  3.3  19084  8520 ?        Ss   18:34   0:01 gvim semestralka.tex
A následně můžeme procesu poslat zprávu o ukončení. Jako identifikaci použijeme PID procesu:
$ kill 32128
Pokud chceme ukončit proces dle jména (vhodné při mnoha procesech jednoho programu) , lze využít program killall:
$ killall gvim
Pokud náš program nelze ukončit žádným z obyčejných způsobů a dokonce neodpovídá ani na příkaz kill (je zřejmě zacyklený a k vykonání příkazu se nedostane) je možné využít jiné typy signálů vysílaných procesu programem kill. Standardně je zasílán signál 15 neboli TERM, který vyvolává exit. Můžete zkusit využít signálu 9, KILL, který má větší šanci, že nebude blokován.
$ kill -9 32128

Priorita procesu

Priorita procesu se nastavuje příkazem nice, který v překladu znamená "ohleduplnost". Hodnota ohleduplnosti je číselné doporučení pro jádro, jak by měl být proces obsloužen ve vztahu k ostatním procesům. Rozsah hodnot pro příkaz nice je -20 až +19. Vysoká hodnota znamená nízkou prioritu (budete ohleduplní vůči ostatním uživatelům) a nízká nebo záporná hodnota znamená vysokou prioritu (nebudete ohleduplní).

Nově vzniklý proces dědí hodnotu ohleduplnosti po rodičích. Uživatel může pouze zvyšovat hodnotu ohleduplnosti svého procesu, ale nesmí jí už poté snižovat. Superuživatel root má neomezenou moc v ovládání ohleduplnosti procesů.

Hodnotu ohleduplnosti může uživatel nastavit již při vzniku procesu a při běhu procesů jí může měnit příkazem renice. Příkaz nice přijímá jako argument příkazový řádek a příkaz renice očekává jako argument PID procesu nebo jméno uživatele. Příkazu renice se zadává hodnota ohleduplnosti v absolutním tvaru, u příkazu nice se ohleduplnost jako inkrement, který se odečte nebo přičte od aktuální hodnoty ohleduplnosti.

$nice -n 8 /bin/velmi_narocna_uloha #zvýší ohleduplnost o 8
$renice 3 7623                      #nastaví ohleduplnost na 3
$sudo renice -2 -u jirka            #nastaví ohleduplnost procesů patřící Jirkovi na -2 

1Na jednoprocesorovém stroji může v jeden čas běžet pouze jediný proces, ale díky jejich rychlému přepínání navenek nic nepoznáme.

Dokument vytvořil: vladka, 29.8.2005 11:43 | Poslední úprava: Fluttershy, yay!, 12.2.2011 17:18 | Další přispěvatelé: Ash, Vít Ožana | Historie změn | Zobrazeno: 22708×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.