Я пишу свой терминал с нуля, чтобы понять как работает компьютер
Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.
https://habr.com/ru/articles/1000766/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
