Нашёл много подробных описаний, как происходит старт системы, как процесс №1 запускает в соответствии с inittab системные службы и сервисы и т.п. При этом исполняется масса скриптов.
Кто разбирает эти скрипты? Сама программа init или она вызывает каждый раз (на каждый скрипт) оболочку bash, создаёт ради этого новый процесс, а потом убивает его? Если второе, то откуда init знает, где искать bash и какой bash, если в системе их много (разные виды)? Это же где-то определено должно быть...
Старт системы (В какой момент стартует bash?)
Модератор: Bizdelnick
-
BlackStar
- Сообщения: 1338
- Статус: We are all Kosh
- ОС: Fedora 10
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Старт системы
Код: Выделить всё
elide@serenity| ~ >> grep sys /etc/inittab
rc::sysinit:/etc/rc.sysinit
elide@serenity| ~ >> head -n1 /etc/rc.sysinit
#!/bin/sh
elide@serenity| ~ >>init запускает эти скрипты совершенно штатным образом, поэтому никто не запрещает делать их вовсе не скриптами на sh, а вовсе даже ELF бинарниками, или скриптами на perl, скажем....
слава роботам!
-
Русик
- Сообщения: 13
- ОС: Mandrake 7.0
Re: Старт системы
Кой-чё прояснилось, спасибо!
А для исполнения скрипта не любой shell годится? Ну, в смысле функциональность шеллов тоже ведь различается: bash и ash по объёму файла в несколько раз отличаются. Скрипт под конкретную оболочку пишется? Ведь /bin/sh, на к-й указано в начале скрипта, может быть просто линком на минималистический ash...
А для исполнения скрипта не любой shell годится? Ну, в смысле функциональность шеллов тоже ведь различается: bash и ash по объёму файла в несколько раз отличаются. Скрипт под конкретную оболочку пишется? Ведь /bin/sh, на к-й указано в начале скрипта, может быть просто линком на минималистический ash...
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: Старт системы
Собственные скрипты можно писать под то, что нравится.
Однако хорошим тоном считается написание переносимых скриптов. В качестве стандарта прият набор команд sh (AFAIK).
Однако хорошим тоном считается написание переносимых скриптов. В качестве стандарта прият набор команд sh (AFAIK).
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Старт системы
Не любой. Но совместимый с sh годится. Как раз эта ссылка (/bin/sh) и должна указывать на такую оболочку.
А оболочки с C-подобным синтаксисом: csh, tcsh... - не сгодятся.
А оболочки с C-подобным синтаксисом: csh, tcsh... - не сгодятся.
-
Jan2ary
- Бывший модератор
- Сообщения: 630
- Статус: Тщедушный очкарик
Re: Старт системы
Таким же образом пишутся скрипты под awk, perl, python etc...
Естественно, что это будут скрипты только под определенный язык.
Естественно, что это будут скрипты только под определенный язык.
Не шалю, никого не трогаю, починяю примус...
-
Русик
- Сообщения: 13
- ОС: Mandrake 7.0
Re: Старт системы
awk, perl, python etc...
Так далеко мои мысли не заходили
Надеюсь, пока что...
Я подразумевал просто shell'ы, которые bash-совместимые. Ну, типа, заменю я в системе bash на ash - выполнение скриптов от этого не нарушится? Вдруг ash меньше умеет...
А если они все написаны в соответствии с неким sh-стандартом, то откуда такой разный размер самих бинарников? Собственно, я уже повторяюсь...
Так далеко мои мысли не заходили
Я подразумевал просто shell'ы, которые bash-совместимые. Ну, типа, заменю я в системе bash на ash - выполнение скриптов от этого не нарушится? Вдруг ash меньше умеет...
А если они все написаны в соответствии с неким sh-стандартом, то откуда такой разный размер самих бинарников? Собственно, я уже повторяюсь...
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Старт системы
sh - это база. набор команд и функций sh - должны уметь все.А если они все написаны в соответствии с неким sh-стандартом, то откуда такой разный размер самих бинарников? Собственно, я уже повторяюсь...
а размер бинарников зависит от объёма _дополнительных_ и _необязательных_ возможностей.
слава роботам!
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Старт системы
(elide @ Feb 8 2007, в 20:55) писал(а):набор команд и функций sh - должны уметь все.
Ну, не совсем все. Так ещё и fish в sh-совместимые запишем.
-
Русик
- Сообщения: 13
- ОС: Mandrake 7.0