Re: Linux process
А что получить-то хочется в результате?
ну если 1 процесс по какой-либо причине умрёт, мы перехватим сигнал, сольём его в файл, а потом восстановим
примерно так
примерно так
А почему второй процесс окажется жизнеспособнее? Если скажем процесс получил SIGSEGV, то если восстановить контекст, он опять то же самое сделает, разве не так?
А вообще по-умному это называется checkpoint, кто-то этим занимается, я бы в гугле поискал. Самое сложное тут -- что делать с файловыми дескрипторами и подобной фигнёй.
А вообще по-умному это называется checkpoint, кто-то этим занимается, я бы в гугле поискал. Самое сложное тут -- что делать с файловыми дескрипторами и подобной фигнёй.
ну скажу ещё проще, процесс получает сигнал SIGXCPU, время у него вышло, пора уничтожаться
ты его льёшь, процесс умирает, ты делаешь другой, мапишь на него старый и вуаля, опять работает
к сожалению инета нет
может доки какие есть ?
был бы премного благодарен
ты его льёшь, процесс умирает, ты делаешь другой, мапишь на него старый и вуаля, опять работает
к сожалению инета нет
может доки какие есть ?
был бы премного благодарен

это открытая проблема, тут не может быть доков, только research papers 

согласитсья с тобой не могу
ну вот опять же если брать пример с ограничением процессорного времени, ты там считаешь что нить, бла бла бла, и тут раз, время твоё вышло и процесс умираетю что тебе делать ?
что то должно быть
ну вот опять же если брать пример с ограничением процессорного времени, ты там считаешь что нить, бла бла бла, и тут раз, время твоё вышло и процесс умираетю что тебе делать ?
что то должно быть
А не проще форкаться раз в n секунд, где n заведомо меньше квоты, но не слишком мало?
Или у тебя сырцов того, что ты пускаешь, нету?
хе-хе.
ну ркз ты такой умный
пусть у тебя ещё и ограничение на количество процессов стоит, хрен ты форнешься
вопрос был всё таки не об этом.
пусть у тебя ещё и ограничение на количество процессов стоит, хрен ты форнешьсявопрос был всё таки не об этом.
Дядя, а Вам не кажется, что Вы пытаетесь обойти защиту системы от безмазового пользователя и устроить DoS-атаку?
Если кажется, то хули Вы, дядя, паритесь?
Если кажется, то хули Вы, дядя, паритесь?
ёп та ! ну чё народ такое тупой пошёл
повторяю ещё раз, для даунов - ЧИТАЙ МОЙ ПЕРВЫЙ ПОСТ !
повторяю ещё раз, для даунов - ЧИТАЙ МОЙ ПЕРВЫЙ ПОСТ !
checkpointing - очень полезная вещь в расчётных задачах, которые могут выполняться длительное время
ибо бывают не только SIGXCPU, но и всякие аппаратные сбои, вынужденные перезагрузки и т.д.
Да и защита от SIGXCPU может быть использована не только для атаки: предположим, кто-то запускает нашу программу на своей системе и берёт деньги за машинное время, причём просит предоплату. А мы не знаем, сколько времени будет считаться наша задача. Поэтому мы встраиваем чекпоинт при окончании оплаченного времени, чтобы можно было доплатить и продолжить расчёт.
В случае расчётной задачи проще организовать это своими силами, то есть пусть программа сама сбрасывает промежуточные результаты в файл.
Системных средств для общего решения задачи нет, но вроде бы каких-то модификациях ядра для работы на кластерах есть средства, пригодные для каких-то классов программ.
ибо бывают не только SIGXCPU, но и всякие аппаратные сбои, вынужденные перезагрузки и т.д.
Да и защита от SIGXCPU может быть использована не только для атаки: предположим, кто-то запускает нашу программу на своей системе и берёт деньги за машинное время, причём просит предоплату. А мы не знаем, сколько времени будет считаться наша задача. Поэтому мы встраиваем чекпоинт при окончании оплаченного времени, чтобы можно было доплатить и продолжить расчёт.
В случае расчётной задачи проще организовать это своими силами, то есть пусть программа сама сбрасывает промежуточные результаты в файл.
Системных средств для общего решения задачи нет, но вроде бы каких-то модификациях ядра для работы на кластерах есть средства, пригодные для каких-то классов программ.
На первый пост тебе ответили, интеллектуал бля.
А ёбнутые примеры ты сам выдумал.
А ёбнутые примеры ты сам выдумал.
ладно, спасибо огромное
но это всё же не то, что я хотел
но это всё же не то, что я хотел

Да это всё понятно.
Однако если забить на дескрипторы и иметь доступ к сырцам (сценарий типа "захавали данные и жуём их" то задача решается почти элементарно.
Однако если забить на дескрипторы и иметь доступ к сырцам (сценарий типа "захавали данные и жуём их" то задача решается почти элементарно.
Кстати, от аппаратных сбоев (и вообще от сбоев, затрагивающих всю систему) может помочь software suspend или как там его.
помимо того что ты хам (гыыы) ты ещё и непонятно объясняешься
ты знаешь ответ на мой 1 пост ? (доступ к сырцам есть)
ты знаешь ответ на мой 1 пост ? (доступ к сырцам есть)
Гораздо хуже
Сбой может привести к замене какой-нибудь железки на не идентичную, и resume не будет
Чекпоинт, грамотно организованный подручными средствами выживет также при изменении версий библиотек, или вообще при переносе на другую машину, даже другой архитектуры.
Сбой может привести к замене какой-нибудь железки на не идентичную, и resume не будет
Чекпоинт, грамотно организованный подручными средствами выживет также при изменении версий библиотек, или вообще при переносе на другую машину, даже другой архитектуры.
Положим, кору в формате ELF (для определённости) ты получать умеешь.
Тебе нужно создать специальный загрузчик, взяв за основу ld.so (точнее, схему его работы).
Этот загрузчик должен прочитать кору, намапить секций как положено и передать управление во вновь созданный образ процесса.
С дескрипторами, конечно, жопа.
В качестве полумеры их можно переинициализировать по какому-нибудь флагу, который должен обнулить твой загрузчик.
Тебе нужно создать специальный загрузчик, взяв за основу ld.so (точнее, схему его работы).
Этот загрузчик должен прочитать кору, намапить секций как положено и передать управление во вновь созданный образ процесса.
С дескрипторами, конечно, жопа.
В качестве полумеры их можно переинициализировать по какому-нибудь флагу, который должен обнулить твой загрузчик.
Маленькая подсказка: чтобы тебе быстрее и правильнее ответили, недостаточно обозвать собеседника тупым. Нужно еще обязательно сразу послать его нахуй.
>ну чё народ такое тупой пошёл
А Скорпа задело, и он написал нормальный ответ
А Скорпа задело, и он написал нормальный ответ

Маленькая подсказка вам обоим: чтобы получить больше информации, <ваш рецепт>.
Похоже, первоначальные участники треда умерли от смеха, прочитав такое "решение".
Какие слабонервные, однако.
Какие слабонервные, однако.
Оставить комментарий
kondel33
Как в linuxe можно сбросить образ процесса в файл, потом, например, создать другой процесс и смапить образ из файла на него ?