Ctrl+D, když je zadáno na začátku řádku na terminálu, označuje konec vstupu. Nejedná se o signál v unixovém smyslu: když aplikace čte z terminálu a uživatel stiskne Ctrl+D, aplikace je upozorněna, že bylo dosaženo konce souboru (jako kdyby to bylo čtení ze souboru a prošlo posledním bajtem).
Ctrl+C pošle signál, SIGINT . Ve výchozím stavu SIGINT (signál přerušení) zabíjí aplikaci v popředí, ale aplikace může zachytit signál a reagovat jiným způsobem (například Shell samotný zachytí signál a zruší řádek, který jste začali psát, ale to ' t skončí, zobrazí se nová výzva a čeká na nový příkazový řádek).
Znaky spojené s koncem souboru a SIGINT můžete změnit příkazem stty
, např. stty eof a
by udělal a
znak konce souboru a stty intr ^-
zakáže znak SIGINT. To je zřídka užitečné.
Váš druhý bod spojuje dvě zcela odlišné věci dohromady.
Hledáte to druhé.