Это команда cr_checkpoint, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
cr_checkpoint - контрольные точки процесса, группы процессов или сеанса.
СИНТАКСИС
cr_checkpoint [кредита] ID
ОПИСАНИЕ
Вызов cr_checkpoint вызывает процесс (со всеми его потомками или без них), все
процессы в группе процессов или все процессы в сеансе, которые должны быть проверены.
Результатом является файл контрольной точки (или каталог с одним файлом контрольной точки для каждого процесса), который
содержит все состояние, необходимое для перезапуска процесса (ов) в более позднее время. Контрольно-пропускной пункт
процессы могут быть перезапущены через cr_restart(1).
Чтобы получить контрольную точку с помощью cr_checkpoint, процесс должен иметь libcr.so библиотека (или одна из
его родственники) заряжены. Этого можно добиться, запустив программу с cr_run(1), или
связывание вашего приложения с -лкр. Или библиотека может быть загружена другими библиотеками, которые вы
связаны с (например, с библиотекой MPI, готовой для контрольных точек) или с параллельным заданием вашей системы
сценарий запуска и т. д. Подробные сведения см. в документации к системе.
Файл создание / замена
По умолчанию (или если атомный передается) cr_checkpoint создает новый файл / каталог контекста
атомарно: либо контрольная точка не работает (и любой существующий файл / каталог контекста
без изменений), или он появляется в каталоге, готовом к использованию cr_restart. Если существующий
существует контрольная точка с таким же именем файла, она либо не будет изменена (если новый
контрольная точка не работает по любой причине) или заменяется атомарно (через переименовать(2). Если
--резервное копирование[=ИМЯ] передается, вместо этого будет создана резервная копия любой существующей контрольной точки либо в
ИМЯ или с пронумерованным добавочным номером (. ~ 1 ~, . ~ 2 ~и т. д., с более поздними контрольными точками, имеющими
более высокие числа). Если --затирать пройден, КПП немедленно удалит все
существующие файлы контрольных точек, и запишет контрольную точку прямо в цель
файл / каталог: этот параметр использует меньше места на диске, если присутствует существующая контрольная точка,
поскольку старая контрольная точка немедленно отбрасывается, но если контрольная точка выходит из строя, предварительная
существующий контрольно-пропускной пункт потерян. Наконец, если --ноклоббер пройден, то контрольно-пропускной пункт будет
сбой, если целевой файл / каталог существует.
Файл синхронизировать
По умолчанию (или когда --синхронизация пройден), cr_checkpoint ждет, пока контрольная точка не будет
полный в памяти, и дополнительно звонки FSYNC(2) для всех задействованных файлов и каталогов
в контрольной точке (включая файлы резервных копий) на диск перед выходом. Проходящий --nosync
вызывает пропуск этих вызовов fsync.
Истек
Максимальный тайм-аут в секундах может быть установлен для контрольной точки через --время флаг: если
контрольная точка занимает больше времени, cr_checkpoint распечатает сообщение об ошибке и выйдет с
ошибка. Если происходит тайм-аут, состояние процесса или процессов, которые были
контрольная точка не определена.
Сигналы
По умолчанию процессы с контрольной точкой продолжают выполняться после ее завершения.
В качестве альтернативы вы можете указать, что они должны быть остановлены (через --останавливаться), или
прекращено / прервано / убито (через --срок, - отменитьили --убийство). Это делается путем отправки
соответствующий сигнал каждому процессу, который является частью контрольной точки. Если бы процессы были
остановился в то время, когда был запрошен контрольно-пропускной пункт, затем --продолжение может использоваться для отправки SIGCONT
ко всем процессам после завершения контрольной точки.
Память сопоставляются файлов
По умолчанию контрольные точки не включают файлы, которые были обработаны с помощью mmap () в процессе.
адресное пространство, если они еще не разорваны на момент взятия контрольной точки. Этот
это оптимизация для экономии места / времени при условии, что требуемые файлы будут
все еще присутствуют (и не повреждены) во время перезапуска. Обычно достигается наибольшая экономия
от несохранения исполняемого файла или динамических (так называемых общих) библиотек. Однако варианты
существуют, чтобы контрольная точка также сохраняла эти файлы. Флаг --save-exe вызовет
исполняемый файл, который будет включен в файл контекста. Флаг - сохранить-частный предусматривает
включить в файл контекста любые файлы, сопоставленные с флагом MAP_PRIVATE, который
под Linux включает исполняемые и динамические / общие библиотеки. Флаг --save-shared
предназначен для сохранения файлов, отображаемых с помощью флага MAP_SHARED. Обратите внимание, что это
Отметьте, что вы хотите для общих библиотек. При перезапуске любой файл, сохраненный этими флагами, будет
отображается в процесс независимо от того, существует ли какой-либо файл в исходном местоположении.
Если файл находится в исходном месте, перезапуск не повлияет на него. Наконец-то
--сохранить все и --сохранить-нет приведет к тому, что все (или ни один) из этих необязательных файлов mmaped будут
сохранено. По умолчанию --сохранить-нет. При передаче нескольких из этих опций они
обрабатывается слева направо, все параметры складываются, кроме --сохранить-нет , которые
отменяет действие всех этих опций, появившихся ранее.
Контрольные точки ptrace () ed Процессы
Нет (в настоящее время) способа полностью прозрачно работать с контрольными точками процессов, которые
отслеживаются с ptrace(2). Следовательно, поведение по умолчанию (также доступно через
--ptraced-ошибка) должен возвращать ошибку, если какой-либо из процессов, подлежащих проверке,
в настоящее время отслеживается. Однако есть два других возможных варианта поведения на выбор:
--ptraced-пропустить
Прослеживаемые процессы будут бессмысленно исключены из контрольной точки. Нет ошибки
генерируется, если это не приводит к нулевым контрольным точкам процессов.
--ptraced-разрешить
Для отслеживаемых процессов будут установлены контрольные точки, как и для любых других процессов. ПРЕДУПРЕЖДЕНИЕ:
Поскольку процесс с контрольной точкой и модуль ядра BLCR должны взаимодействовать, используя
сигналов и системных вызовов, отладчику (или другому трассировщику) может потребоваться `продолжить '
целевой процесс (ы), возможно, более одного раза, чтобы позволить контрольной точке завершиться.
Контрольные точки ptrace () ing Процессы
Нет (в настоящее время) способа полностью прозрачно работать с контрольными точками процессов, которые
отслеживают другие процессы, используя ptrace(2). Следовательно, поведение по умолчанию (также
доступно через --ptracer-ошибка) должен возвращать ошибку, если какой-либо из процессов
контрольные точки в настоящее время отслеживают другие процессы. тем не мение --ptracer-скип доступен
чтобы cr_checkpoint молча исключал такие процессы из контрольной точки. Нет ошибки
генерируется в этом случае, если это не приведет к нулевой контрольной точке процессов.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Общие опции:
-v, --подробный
распечатать сообщения о ходе выполнения в stderr.
-q, --тихий
подавлять сообщения об ошибках / предупреждениях в stderr.
- ?, --Помогите
распечатайте это сообщение и выйдите.
--версия
распечатать информацию о версии и выйти.
Возможности для сфера of контрольно-пропускной пункт:
-T, --дерево
ID идентифицирует идентификатор процесса. Он и все его потомки должны пройти контрольную точку.
Это значение по умолчанию.
-p, --пид, --процесс
ID идентифицирует единичный идентификатор процесса.
-g, --pgid, --группа
ID идентифицирует идентификатор группы процессов.
-s, --сид, --сессия
ID идентифицирует идентификатор сеанса.
Возможности для назначение расположение of контрольно-пропускной пункт:
-c, --cwd
контрольная точка сохраняется как один файл context.ID в рабочем каталоге cr_checkpoint
(по умолчанию).
-d, --дир DIR
контрольная точка сохраняется в новом каталоге DIR, с одним файлом context.ID для каждого процесса
(не реализовано).
-f, --файл ФАЙЛОВ
контрольная точка сохранена как ФАЙЛ.
-F, --fd FD
контрольная точка записана в дескриптор открытого файла.
Возможности для создание / замена политика для контрольно-пропускной пункт файлов:
атомный
контрольная точка создается / заменяется атомарно (по умолчанию).
--резервное копирование[=ИМЯ]
контрольная точка создается атомарно, и любая существующая контрольная точка зарезервирована в NAME или
*. ~ 1 ~, *. ~ 2 ~ и т. Д.
--затирать
контрольная точка записывается постепенно в цель, перезаписывая любые ранее существовавшие
контрольно-пропускной пункт.
--ноклоббер
контрольная точка завершится ошибкой, если целевой файл существует.
Эти параметры игнорируются, если местом назначения является файловый дескриптор.
Возможности для сигнал послать в процесс (ы) после контрольно-пропускной пункт:
--запустить сигнал не отправлен: продолжить выполнение (по умолчанию).
-S, --сигнал NUM
сигнал NUM отправлен всем процессам.
--останавливаться SIGSTOP отправлен всем процессам.
--срок SIGTERM отправлен всем процессам.
- отменить
SIGABRT отправлен всем процессам.
--убийство SIGKILL отправлен всем процессам.
--продолжение SIGCONT отправлен всем процессам.
Опции в этой группе исключают друг друга. Если дано более одного, то только
последний будет удостоен чести.
Возможности для файл система синхронизация (дефолт is --синхронизация):
--синхронизация Файл (ы) контрольной точки fsync на диск (по умолчанию).
--nosync
не загружайте файлы контрольных точек fsync на диск.
Возможности в спасти необязательный участки of Память:
--save-exe
сохраните исполняемый файл.
- сохранить-частный
сохранять личные сопоставленные файлы. (исполняемые файлы и библиотеки отображаются таким образом)
--save-shared
сохранить общие сопоставленные файлы. (IPC System V отображается таким образом).
--сохранить все
сохраните все вышеперечисленное.
--сохранить-нет
не сохраняйте ничего из вышеперечисленного (по умолчанию).
Возможности для прослежен Процессы (дефолт is --ptraced-ошибка):
--ptraced-ошибка
возвращает ошибку, если запрашивается контрольная точка отслеживаемого процесса.
--ptraced-пропустить
Прослеживаемые процессы автоматически исключаются из запроса контрольной точки. Если
объем контрольной точки --дерево, то это также исключит любые дочерние элементы таких
процессы. Ошибка не возникает, если это не приводит к нулю процессов.
чекпоинт.
--ptraced-разрешить
чекпоинт отслеживает процессы нормально. ВНИМАНИЕ: для этого может потребоваться, чтобы трассировщик
"продолжить" целевой процесс (ы), возможно, более одного раза.
Возможности для Процессы трассировка другими организациями (дефолт is --ptracer-ошибка):
--ptracer-ошибка
возвращает ошибку, если контрольная точка запрашивается у процесса, отслеживающего другие.
--ptracer-скип
процессы, отслеживающие других, автоматически исключаются из запроса контрольной точки. Если
область действия контрольной точки --дерево, то это также исключит любые дочерние элементы таких
процессы. Ошибка не возникает, если это не приводит к нулю процессов.
чекпоинт.
Возможности для ядро журнал Сообщения (дефолт is --kmsg-ошибка):
--kmsg-нет
не сообщать о сообщениях ядра.
--kmsg-ошибка
при сбое контрольной точки сообщать на stderr о любых сообщениях ядра, связанных с
запрос контрольной точки.
--kmsg-предупреждение
сообщать на stderr о любых сообщениях ядра, связанных с запросом контрольной точки,
независимо от успеха или неудачи. Сообщения, генерируемые при отсутствии сбоя,
считается предупреждением.
Опции в этой группе исключают друг друга. Если дано более одного, то только
последний будет удостоен чести. Обратите внимание, что --тихий подавляет весь вывод stderr,
включая эти сообщения.
Разное Опции:
-t, --время SEC / КОМИССИЯ ПО ЦЕННЫМ БУМАГАМ И БИРЖАМ
разрешить цели только SEC секунд для завершения контрольной точки (по умолчанию: ждать
бесконечно).
ПРИМЕРЫ
Для проверки процесса с идентификатором процесса 23452, сохраняя его состояние в файл контекст.23452:
cr_checkpoint -p 23452
Для проверки всех процессов в группе процессов 68473 и сохранения их в файл группи:
cr_checkpoint -g -f группи 68473
Для проверки всего процесса в сеансе 8362 и сохранения отдельных файлов context.PID для
каждый процесс в каталоге my_checkpoints:
cr_checkpoint -s -d мои_чекпоинты 8362
Используйте cr_checkpoint онлайн с помощью сервисов onworks.net