Как описано на FedoraProject wiki на Flash, Вам, возможно, понадобился бы модуль PulseAudio ALSA. Если один из флеш-плагина браузера (или сам pulseaudio) заблокировал звуковое устройство, другие приложения, пытающиеся использовать звуковое устройство, не могли бы успешно выполниться.
Лучшее / простое решение состоит в том, чтобы изменить Вашу программу для сохранения состояния в файл повторное использование что файл для восстановления процесса.
Основанный на странице Википедии о снимках приложения существует несколько альтернатив:
CONFIG_CHECKPOINT_RESTORE
включенный.Это уже слишком поздно, но еще больше практического подхода должно запустить Ваш процесс в специализированном VM и просто приостановить и восстановить целую Виртуальную машину. В зависимости от Вашего гипервизора можно также переместить машину между различными хостами.
Поскольку будущее думает о том, куда Вы выполняете свои продолжительные процессы, как к parallize их и как решить проблемы, например, полные диски, процесс уничтожается и т.д.
Довольно "дешевый" способ сделать это должно было бы сделать обработку в VM (например, с VirtualBox). Прежде чем Вы закроетесь, приостанавливают VM и сохраняют состояние. После загружающегося восстановления VM и состояние.
Это действительно имеет недостаток требования уничтожения и перезапуска задания. Но если это на самом деле будет рабочим в течение нескольких месяцев затем, различие девяти дней становится тривиальным (5%-е увеличение более чем 6 месяцев).
Править: Я просто понял, что Ulrich уже упомянул это в непронумерованном объекте 4 в его списке.
Я все еще поощрил бы Вас рассматривать это как опцию, тем более, что ни одна из альтернатив не походит на надежное решение. У каждого есть причина, почему она не может работать.
Я предполагаю, что лучшая вещь сделать состояла бы в том, чтобы попробовать одного из тех и если это не работает, перезапускают задание в VM.
Посмотрите на инструмент CryoPID.
От домашней страницы: "CryoPID позволяет Вам получать состояние рабочего процесса в Linux и сохранять его в файл. Этот файл может затем использоваться для возобновления процесса позже, или после перезагрузки или даже на другой машине".
Если бы Вы заканчиваете тем, что должны были перезапустить свою программу, я поощрил бы Вас проводить некоторое время, добавив некоторые опции к Вашему коду, который мог бы сэкономить Вам время в будущем.
Если процесс будет выполненным в течение долгого времени, способность сохранить все состояние процесса при перезапуске машины, возможно, не чрезвычайно полезно, если процесс отказывает, в то время как это работает.
Я поощрил бы Вас производить свою программу к данным "контрольной точки" файла. Эти данные должны быть достаточными, который Ваша программа сможет возобновить от состояния, которым это было в том, когда файл контрольной точки был сохранен. Вы не должны сохранять весь процесс, просто снимок следующих переменных, используемых в Вашем вычислении, достаточном, чтобы Ваше вычисление возобновило, где это кончило. Ваш код должен был бы также включать некоторый способ читать в данных из этого файла для получения, это - начальное состояние.
Вы могли установить свой кодекс поэтому, когда Вы отправляете ему сигнал, он сохраняет один из этих файлов контрольной точки, таким образом, можно сохранить "состояние" вычисления в любой точке.
Кроме того, способность видеть, как данные изменяются как прогресс вычисления, могла бы быть интересной сам по себе!