Процесс выполнения команды

Командная оболочка — это обычный процесс в операционной системе UNIX. Когда пользователь вводит команду (например, по нажатию Enter), командная оболочка выполняет следующие действия:

1. анализ команды: выделение имени, параметров и аргументов;

2. если это сокращение (alias), то оно раскрывается и анализ команды продолжается;

3. если это встроенная команда, для неё вызывается функция-обработчик;

4. если это внешняя команда:

a. производится поиск программы с соответствующим именем;

b. создаётся дочерний процесс оболочки (системный вызов fork);

c. в дочернем процессе запускается необходимая команда с расшифрованными параметрами и аргументами (системный вызов exec);

d. оболочка контролирует выполнение дочернего процесса, передаёт ему сигналы и ввод пользователя, ожидает его завершения (системный вызов wait);

5. результаты работы возвращаются пользователю, отображается приглашение — он может вводить следующую команду.

Рисунок 2.3. Запуск команды оболочкой


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: