При графическом входе у меня вызывается '/usr/bin/ionice -c3 /usr/bin/recollindex -m' из ~/.xsession.d. Проблема заключается в том, что при выходе процесс recollindex не завершается. Соответственно, при повторном входе в систему происходит ещё один вызов recollindex. При этом ни один из процессов recollindex не получается завершить через kill. Помогает только kill -9. Как заставить завершаться процесс 'recollindex -m' при выходе из графической оболочки? Вход выполняю через KDM, рабочий стол: KDE4.
(In reply to comment #0) > Как заставить завершаться процесс 'recollindex -m' при выходе из графической > оболочки? И зачем тогда промежуточные результаты его деятельности?.. Оберните скриптом, сделайте локинг и всё будет хорошо. Пара примеров: http://www.opennet.ru/openforum/vsluhforumID3/69528.html#30 Как вариант -- при выходе можно делать killall -STOP recollindex, а при входе _и_ существовании процесса -- killall -CONT recollindex (в том же скрипте).
(В ответ на комментарий №1) > > Как заставить завершаться процесс 'recollindex -m' при выходе из графической > > оболочки? > И зачем тогда промежуточные результаты его деятельности?.. Ну так при перезагрузке компа он же всё равно останавливается. И куда тогда деваются "промежуточные результаты его деятельности"? Или я его просто неправильно использую?
Проверьте, но AFAIR понадобится реиндексирование -- как минимум база не будет полной (и искать по ней тогда не вполне осмысленно по крайней мере в моём случае). Могут и вовсе не отдаваться результаты, уже не помню -- сам такое стараюсь не устраивать. В принципе, можно обернуть чем-то вида "вот здесь мы пишем в другой xapiandb prefix и если дописали успешно, грохаем старый и переименовываем полученный", но это всё выходит довольно далеко за рамки самого recollindex. Разве что если реюзабельная обвязка получится, можно автору прислать, он хороший :)
PS: (заглянув в man) а, -m... не, этим не пользовался. А что, он и без -x не отваливается при завершении графической сессии? Если так, то это баг и о нём стоит сообщить Жану.
(В ответ на комментарий №4) > PS: (заглянув в man) а, -m... не, этим не пользовался. А что, он и без -x не > отваливается при завершении графической сессии? Если так, то это баг и о нём > стоит сообщить Жану. Я не пробовал запускать с -x. Запускаю из ~/.xsession.d как recollindex -m, после чего при выходе из X'ов процесс продолжает висеть, и убивается только по kill -9. У меня версия recoll такая: recoll-1.12.0-alt4 В Сизифе лежит версия поновее, надо будет на ней проверить. Попробую пересобрать в хашере для 5.1.
Не-не, -x как раз должен отключать слежение за наличием X-сессии, см. ман. Если бэкпорт чем поможет -- давайте закинем в бранч, конечно. Тогда может иметь смысл и xapian-core свежий взять, API в 1.0.x не менялось.
Собрал я recoll-1.13.04-alt1 в окружении 5.1. Поведение тоже самое. На выход из X-сессии и на kill -SIGTERM не реагирует. Прибивается только по SIGKILL. В общем бэкпорт не поможет.
Предлагаю связываться с разработчиком, я в роли испорченного телефона вряд ли чем особо помогу. Сам бы обернул скриптом с локингом и всё.
Эээ... в смысле верю, что бага есть и судя по ману -- для recollindex -m из-под X-сессии поведение не должно быть таким, но с другой стороны -- если у Вас получается реиндексирование чего-то огромного и оно не прерывабельно без повреждения базы, то поведение программы также резонно. Попробуйте дать для пробы небольшой каталог в качестве topdirs, не весь ~.