Насколько я понимаю: первый выполняемый процесс - это процесс init (с другими современными именами) с pid 1. Позже в соответствии с файлом /etc/inittab и всеми файлами /rdc. скрипты папок, остальные программы выполняются на .
1. Процесс оболочки (в моем случае оболочка bash с запросом на вход) запускается только после всех процессов, упомянутых выше. Итак, если моя оболочка еще не открылась, как именно выполняются все эти сценарии? для запуска скрипта нам нужна оболочка, которая его запустит. Правильно?
где я могу найти сценарий, в котором говорится, в какой именно момент запускается моя оболочка bash?
до того, как моя оболочка bash запустится, могу ли я отправить сигналы (Ctrl z/x/c) одному из процессов, которые запускаются при запуске?
У меня есть процесс со «scanf». Когда я нажимаю на клавиатуру, процесс получает мой ввод. Учитывая, что процесс запускался при запуске, как я упоминал выше, до того, как это сделала моя оболочка. Как он получил мой вклад? моя оболочка открывается только после завершения этого процесса.
1 ответ
Программа-оболочка может работать неинтерактивно как интерпретатор сценариев, в этом случае она может запускаться до входа в систему.
Процесс оболочки запускается программой входа в систему после ввода имени пользователя и пароля.
Сигналы передаются через управляющий терминал процесса, пока у программы есть управляющий терминал, она сможет получать сигналы от своего управляющего терминала.
scanf()
считывается со стандартного ввода процесса, который также связан с управляющим терминалом. Так же.
Похожие вопросы
Новые вопросы
shell
Термин «оболочка» относится к общему классу интерпретаторов текстовых интерактивных команд, чаще всего связанных с операционными системами Unix и Linux. Для вопросов о сценариях оболочки используйте более конкретные теги, такие как «bash», «powershell» или «ksh». Без специального тега следует предполагать переносимое (совместимое с POSIX) решение, хотя использование «posix» в дополнение или «sh» вместо этого предпочтительнее.