[devel] q: installer: Killing all remaining processes (forever)
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Апр 15 15:21:23 MSD 2008
On Tue, Apr 15, 2008 at 11:42:36AM +0400, Stanislav Ievlev wrote:
> On Tue, Apr 15, 2008 at 02:13:14AM +0400, Evgeny Sinelnikov wrote:
> > 2008/4/14 Stanislav Ievlev <inger на 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 по завершении работы выглядит разумнее...
> А по мне так проще в начале, чтобы код менее
> ветвистым был.
> Так при повторном запуске половину программы придётся пропускать, а иначе только один вызов функции.
А я бы сделал reexec после killall.
> Кстати вариант с SIGCHILD стал заметно дольше ожидать киляния
> процессов ... устанавливал только один раз, ожидание было порядка трёх
> секунд, по началу даже подумал что опять зависло.
Там sleep(1)
> Или надо это ускорять или делать рисование точек интенсивнее.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080415/ffb2a819/attachment.bin>
Подробная информация о списке рассылки Devel