[devel] q: installer: Killing all remaining processes (forever)

Evgeny Sinelnikov =?iso-8859-1?q?sin_=CE=C1_altlinux=2Eru?=
Вт Апр 15 02:13:14 MSD 2008


2008/4/14 Stanislav Ievlev <inger at altlinux.org>:
> On Mon, Apr 14, 2008 at 04:00:38AM +0400, Evgeny Sinelnikov wrote:
>  > >  Что касается финального loop_change_fd, то сдаётся мне в свете
>  > >  накопившегося опыта стоит попробовать следующее:
>  > >  * copy+reexec init'a с tmpfs (тогда точно не будет никаких зависаний ибо
>  > >  файл процесса уже будет вне опасности)
>  > >  * по окончании работы pivot_root в tmpfs (откуда был запущен) далее kill и umount.
>  > >  После второй операции возможно и повторный loop_change_fd не пригодится.
>  > >
>  > >  Мы один раз уже пробовали эту схему, но тогда видать не дотумкали насчёт
>  > >  ожидания убиения процессов, увидели что не получается отмонтирование и
>  > >  отказались от неё. Стоит попробовать ещё разок.
>  > >
>  >
>  > Да, это интересная идея... Завтра проверю...
>  А я тогда подожду результатов ;)
>  зависание видимо было из-за того что несмотря на статичность файла init,
>  он был загружен при помощи mmap и не вся его часть попала с loop в память.
>

Что-то оно сегодня не всё успелось... я собрал, но не опробовал
вариант первичного перенесения init в tmpfs. По итоге стало ясно, что
вариант переносить init по завершении работы выглядит разумнее...


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel