понимание загрузочной оболочки ядра - PullRequest
0 голосов
/ 31 октября 2019

Насколько я понимаю: первый выполняемый процесс - это процесс init (с другими современными именами) с pid 1. Позже в соответствии с / etc / inittab и всеми / rdc. Скрипты папок, над которыми выполняются остальные программы.

1. Оболочка (в моем случае оболочка bash с приглашением для входа в систему) запускается только после всех процессов, которые я упомянул выше. Итак, если моя оболочка еще не открылась, как именно выполняются все эти сценарии? чтобы запустить скрипт, нам нужна оболочка, которая будет его запускать. право

где я могу найти скрипт, который говорит, с какого момента запускается моя оболочка bash?

до запуска оболочки bash, могу ли я отправлять сигналы (Ctrl z/ х / в) одному из процессов, которые запускаются при запуске?

У меня есть процесс с "scanf" в нем. Когда я нажимаю на клавиатуру, процесс получает мой ввод. Учитывая, что процесс запускался при запуске, как я упоминал выше, до того, как это сделала моя оболочка. Как он получил мой вклад? моя оболочка открывается только после завершения этого процесса.

1 Ответ

0 голосов
/ 01 ноября 2019
  1. Программа оболочки может работать неинтерактивно в качестве интерпретатора сценариев, в этом случае она может выполняться до входа в систему.

  2. Процесс оболочки запускается командойпрограмма входа в систему после ввода вашего имени пользователя и пароля.

  3. Сигналы передаются через управляющий терминал процесса, если в программе имеется управляющий терминал,он мог бы принимать сигналы от своего управляющего терминала.

  4. scanf() считывать со стандартного входа процесса, который также связан с его управляющим терминалом. То же самое.

...