Jaké jsou vztahy mezi řídicími znaky a signály? Nebo spolu nesouvisejí?
Jsou řídicí znaky přijímány terminálem?
Poté, co terminál přijme řídicí znak, vysílá terminál signál do procesu jedna z možných akcí terminálu na přijatý řídicí znak?
Například,
v Linuxu v terminálu Ctrl+C ukončí běžící proces v popředí. V ASCII je Ctrl+C řídicí znak, který znamená „Konec textu“.
V ASCII je Ctrl+D řídicí znak, který znamená konec přenosu. Způsobuje řídicí znak, že terminál vysílá nějaký signál do nějakého procesu?
Přijatá odpověď:
Ovladač terminálu (součást operačního systému) vytváří vztah mezi speciálními znaky a signály. Vaše nastavení terminálu , např. pomocí stty
, jsou to, co používá k rozhodování o tom, co (pokud vůbec něco) dělat se znaky, které zadáváte. Tyto speciální znaky můžete podle potřeby znovu přiřadit s několika upozorněními:
- pouze jeden speciální znak na funkci
- používají se pouze jednobajtové znaky
ovládací prvek C a ovládání D jsou konvenční :zatímco několik aplikací může tyto hodnoty zakódovat napevno, ovladač terminálu to nevyžaduje.
Ovladač terminálu je software, není součástí vašeho terminálu . U některých klávesnic může být jiné přiřazení speciálních znaků pohodlnější než u jiných (a pro různé operační systémy se může několik možností výchozích hodnot pro speciální znaky lišit).
Další čtení:
- 11.1.9 Speciální znaky (POSIX *Obecné terminálové rozhraní)
- 11. Obecné rozhraní terminálu
- stty – nastavení možností pro terminál