Re: Linux process
А что получить-то хочется в результате?
примерно так
А вообще по-умному это называется checkpoint, кто-то этим занимается, я бы в гугле поискал. Самое сложное тут -- что делать с файловыми дескрипторами и подобной фигнёй.
ты его льёшь, процесс умирает, ты делаешь другой, мапишь на него старый и вуаля, опять работает
к сожалению инета нет
может доки какие есть ?
был бы премного благодарен
это открытая проблема, тут не может быть доков, только research papers
ну вот опять же если брать пример с ограничением процессорного времени, ты там считаешь что нить, бла бла бла, и тут раз, время твоё вышло и процесс умираетю что тебе делать ?
что то должно быть
А не проще форкаться раз в n секунд, где n заведомо меньше квоты, но не слишком мало?
Или у тебя сырцов того, что ты пускаешь, нету?
хе-хе.
вопрос был всё таки не об этом.
Если кажется, то хули Вы, дядя, паритесь?
повторяю ещё раз, для даунов - ЧИТАЙ МОЙ ПЕРВЫЙ ПОСТ !
ибо бывают не только SIGXCPU, но и всякие аппаратные сбои, вынужденные перезагрузки и т.д.
Да и защита от SIGXCPU может быть использована не только для атаки: предположим, кто-то запускает нашу программу на своей системе и берёт деньги за машинное время, причём просит предоплату. А мы не знаем, сколько времени будет считаться наша задача. Поэтому мы встраиваем чекпоинт при окончании оплаченного времени, чтобы можно было доплатить и продолжить расчёт.
В случае расчётной задачи проще организовать это своими силами, то есть пусть программа сама сбрасывает промежуточные результаты в файл.
Системных средств для общего решения задачи нет, но вроде бы каких-то модификациях ядра для работы на кластерах есть средства, пригодные для каких-то классов программ.
А ёбнутые примеры ты сам выдумал.
но это всё же не то, что я хотел
Однако если забить на дескрипторы и иметь доступ к сырцам (сценарий типа "захавали данные и жуём их" то задача решается почти элементарно.
Кстати, от аппаратных сбоев (и вообще от сбоев, затрагивающих всю систему) может помочь software suspend или как там его.
ты знаешь ответ на мой 1 пост ? (доступ к сырцам есть)
Сбой может привести к замене какой-нибудь железки на не идентичную, и resume не будет
Чекпоинт, грамотно организованный подручными средствами выживет также при изменении версий библиотек, или вообще при переносе на другую машину, даже другой архитектуры.
Тебе нужно создать специальный загрузчик, взяв за основу ld.so (точнее, схему его работы).
Этот загрузчик должен прочитать кору, намапить секций как положено и передать управление во вновь созданный образ процесса.
С дескрипторами, конечно, жопа.
В качестве полумеры их можно переинициализировать по какому-нибудь флагу, который должен обнулить твой загрузчик.
Маленькая подсказка: чтобы тебе быстрее и правильнее ответили, недостаточно обозвать собеседника тупым. Нужно еще обязательно сразу послать его нахуй.
А Скорпа задело, и он написал нормальный ответ
Маленькая подсказка вам обоим: чтобы получить больше информации, <ваш рецепт>.
Какие слабонервные, однако.
Оставить комментарий
kondel33
Как в linuxe можно сбросить образ процесса в файл, потом, например, создать другой процесс и смапить образ из файла на него ?