On Sun, Mar 09, 2008 at 07:12:05PM +0300, Alexey Gladkov wrote: AG> На мой взгляд составлять дерево зависимостей между сервисами нужно до AG> перезагрузки, а именно, при добавлении нового сервиса. В этом случае initd AG> будет грузить сервисы по заранее подготовленной схеме. Ведь сервисы в AG> системе появляются/исчезают не часто... так незачем вычислять AG> последовательность при каждой загрузке. А вот насчет дерева чуть веселее при _параллельном запуске_. Там не надо составлять дерево. Есть список сервисов, и для каждого сервиса список еще не удовлетворенных requires. Как только для какого-то сервиса второй список становится пустым -- мы этот сервис стартуем. А заранее надо заготавливать "приоритетность" каждого сервиса (чтобы ответить на вопрос "ой, сейчас мы можем запустить десяток сервисов -- какой из них запускать раньше?". То есть дополнительные данные могут готовиться заранее, а вот сам алгоритм получается все равно работает именно в момент запуска. Но это все далекое будущее. Я пока предлагаю не концентрироваться на параллельном старте сервисов, а хотя бы добавить в инитскрипты метаинформацию. -- С уважением, Денис http://freesource.info ----------------------------------------------------------------------------