Написание приостановленной программы в Linux

Программы, зависящие от физического времени, такие как jackd и его клиенты, не очень хорошо работают с программным обеспечением для переноски ноутбука в Linux. Я хотел бы исправить клиента, который начинает выдавать множество «временных ошибок», позволяя ему отключиться, прежде чем программное обеспечение приостановит и снова подключится к возобновлению. Можно ли это сделать с клиента, без необходимости настройки системы? Я знаю, что могу убить программу, отредактировав системные скрипты, но есть ли интерфейс в Linux, чтобы ждать приостановки событий напрямую и без прав root? Знаете ли вы о программах, которые зависят от физического времени, но дескриптор правильной обработки?

  • Как ограничить / сократить выходную мощность на USB-клиент?
  • прослушивать событие кнопки питания в Python (без ACPI)
  • Как узнать, какой процесс заставляет мою машину спать?
  • Приостановка / возобновление с помощью файла подкачки (требуется btrfs)
  • Открывающая крышка выводится на черный экран (ноутбук Dell с графикой ATI, ядром Ubuntu 12.04, 3.2, GNOME 3)
  • Странные результаты Powertop
  • Узнайте, запускался ли запуск системы с помощью сигнала тревоги rtc
  • ACPI (расширенная конфигурация и конфигурация питания) отсутствует в 2.6.38.8?
  • One Solution collect form web for “Написание приостановленной программы в Linux”

    Если программа зависит от физического времени, она должна периодически проверять часы. Если это не программа реального времени, работающая на версии Linux с патчами ядра для гарантий реального времени, процесс может быть остановлен от выполнения в течение произвольного периода времени планировщиком. Процесс также может быть остановлен сигналом STOP (он может знать об этом, поставив обработчик на сигнал CONT, отправленный для его возобновления).

    Если программное обеспечение просто должно знать, что прошло много времени, он может поставить таймер, чтобы разбудить его. Однако пример, который вы даете, должен знать больше, чем это: например, он должен знать о изменениях конфигурации сети. Для такой программы подключение к событиям приостановки / возобновления системы предоставляет больше информации, чем просто обнаружение пропусков.

    При подключении к событиям приостановки / возобновления системы требуются либо привилегии root, либо запуск внутри сеанса с доступом D-Bus. (Я не знаю, какие события D-Bus вам нужно подписаться.)

    Приобретение событий приостановки / возобновления системы имеет то преимущество, что вы можете запускать код на приостановке, а не только на резюме.

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