[devel] q: installer: Killing all remaining processes (forever)
Evgeny Sinelnikov
=?iso-8859-1?q?sin_=CE=C1_altlinux=2Eru?=
Пн Апр 14 04:00:38 MSD 2008
2008/4/13 Stanislav Ievlev <inger at altlinux.org>:
> On Fri, Apr 11, 2008 at 05:18:23PM +0400, Evgeny Sinelnikov wrote:
>
> > Здравствуйте,
> >
> > 2008/4/8 Stanislav Ievlev <inger at altlinux.org>:
> > > Когда будете делать новые патчи - оповестите откуда брать.
> > >
> > > Текущая версия по идее уже не выдаёт kernel panic, но неотмонтированный
> > > /mnt/destination/dev всё ещё остаётся .
> > >
> > >
> > Проблема в том, что не корректно просто так добавлять sleep (1), нужно
> > ожидать сигнала ECHILD. После этого проблемы с /mnt/destination/dev
> > исчезают сами собой... Это раз.
> Это лучше с Дима скажет - у него были какие-то аргументы против ECHILD.
>
> Что касается финального loop_change_fd, то сдаётся мне в свете
> накопившегося опыта стоит попробовать следующее:
> * copy+reexec init'a с tmpfs (тогда точно не будет никаких зависаний ибо
> файл процесса уже будет вне опасности)
> * по окончании работы pivot_root в tmpfs (откуда был запущен) далее kill и umount.
> После второй операции возможно и повторный loop_change_fd не пригодится.
>
> Мы один раз уже пробовали эту схему, но тогда видать не дотумкали насчёт
> ожидания убиения процессов, увидели что не получается отмонтирование и
> отказались от неё. Стоит попробовать ещё разок.
>
Да, это интересная идея... Завтра проверю...
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки Devel