Можно ли скопировать приостановленный процесс?

Если я приостановил работу в bash с помощью ctrl-z, есть способ ее скопировать. Так что теперь у меня есть два процесса, которые одинаковы.

Я запускаю скрипт python, который загружает несколько файлов и делает некоторый анализ на них, затем он достигает интерактивного этапа, на котором я хочу запустить некоторые тесты анализируемых данных. Идея состоит в том, что первоначальный анализ, который занимает 20 минут или около того, может быть выполнен один раз, а затем интерактивный этап может быть протестирован с нуля несколько раз.

3 Solutions collect form web for “Можно ли скопировать приостановленный процесс?”

Есть инструмент под названием cryopid, который позволяет моментально отобразить запущенный процесс, чтобы вы могли возобновить его позже. Я не пробовал, но я не вижу причин, по которым вы не могли бы «возобновить» процесс с моментальным снимком, пока оригинал все еще работает. Как подразумевается комментарий Тердона , есть много вещей, которые следует учитывать при мгновенной съемке процесса, поэтому криоида может быть тонкой; лучшим решением в вашем случае было бы изменить исходный процесс, чтобы он сохранял анализ после завершения и загружал его на будущие прогоны.

Вы должны уметь захватить его с помощью команды jobs :

 ➜ ~ top [1] + 55990 suspended top ➜ ~ jobs -l [1] + 55990 suspended top 

Я думаю, вероятно, вы ищете, как перечислять файлы в каталоге /proc/$pid/ процесса, в котором вы заинтересованы (по крайней мере, это будет в случае с Linux-машиной) . Внутри этого каталога вы можете найти практически всю информацию, необходимую для дублирования / эмуляции состояния одного процесса в другом.

Вы захотите обратить пристальное внимание на группы процессов, флаги распространения монтирования, сродство numa, грязные страницы, огромные страницы, shared-mem, memmaps, fd смещения, все в cgroups , status , ns/* , fd/* , oom* , io , cmdline , environ , maps и … ну, просто обратите пристальное внимание.

В любом случае, при условии правильных разрешений, вы можете перечислить все эти файлы, например …

 ls -R /proc/"${pid_of_interest}"/ 

Если вы создадите свое ядро ​​3.3+ с параметром CONFIG_CHECKPOINT_RESTORE , ядро ​​также заполнит /proc/$pid/mem_files/ каталог /proc/$pid/mem_files/ , который будет содержать символическую ссылку (ala /proc/$pid/fd/* ) для каждого mmap() 'd регистрирует ваш процесс в настоящее время, а также любой, который он разделяет с любым другим процессом.

  • Почему я не могу убить процессы firefox?
  • Заставляет ли приложение освобождать выделенную память?
  • Сценарий, чтобы взять pid, дать имя cmd, сетевые подключения, дерево процессов, родительский / дедушка / ребенок
  • Перемещение дерева процессов
  • Является ли процесс внука и дочерним процессом?
  • Как проверить, сколько времени работает процесс?
  • как приостановить другие не связанные процессы, чтобы позволить процессам, заинтересованным в занятии ЦП?
  • «Прекращено» относится к «заблокированному» состоянию?
  • Как возобновить процесс из SSH-соединения?
  • Проверьте, оставил ли процесс оставшихся сирот
  • Как рисовать дерево процессов из моей оболочки в ядро?
  • Interesting Posts

    Можно ли запускать программы (сохраненные в меню) с терминала?

    Что делает инструкция Bind bindkeys-file?

    Новая GeForce установлена, заикается, с чего начать?

    Существует ли полезность для отображения вывода команды в графическом интерфейсе, а также в консоли?

    Изменение столбцов с помощью awk

    Интерактивный ssh ​​работает, но не rsync или scp, на OSX

    Не удается найти исполняемый файл для пользователя без root по ssh

    Сценарий переключения Wi-Fi не работает должным образом через i3

    Как войти в однопользовательский режим с отключенным пользователем root?

    Могу ли я предотвратить замедление zsh с большой историей?

    Можно ли напрямую запрашивать информацию о процессе из ядра Linux?

    Как эмулировать отправку нажатий клавиш через терминальную программу?

    Есть ли способ GLOBALLY установить сервер ключей DEFAULT для gpg на Debian?

    Обмен нечетными и четными страницами в pdf-файле?

    Объединить диапазон столбцов с одним и тем же ключом

    Linux и Unix - лучшая ОС в мире.