Предотвратить Linux от сна, когда Python процесс запущен - PullRequest
1 голос
/ 30 марта 2020

Есть ли (programmati c) способ запретить моему Linux (Ubuntu) переходить в спящий режим, когда моя программа Python работает? Я ищу решение, которое позволяет избежать меня вручную меняя настройки питания ОС каждый раз, когда я запускаю свой код.

Справочная информация: я провожу длительное обучение машинному обучению из PyCharm (используя Ray RLlib). Хотя я бы надеялся, что интенсивный активный процесс для предотвращения сна, моя Ubuntu засыпает после истечения периода приостановки моих стандартных настроек мощности, если я не взаимодействую во время тренировки.

Я удивлен, что не могу найти любое решение, когда гуглил и смотрел на Stackoverflow; Казалось бы, такая распространенная потребность в Python (или, может быть, других) программистах, и я ожидал бы, что существуют некоторые инструменты python, которые легко позволят предотвратить сон изнутри самого моего Python сценария.

Я нашел SetThreadExecutionState для Windows (с C ++), но пока ничего нет для Linux. Немного менее сфокусированный вопрос Запретить спящий режим python (Wakelock on python) также относится к моей проблеме, но он не привлек никакого ответа при решении проблемы для Linux OS.

1 Ответ

1 голос
/ 30 марта 2020

Вы можете попробовать Deluge-PreventSuspendPlus , версия Deluge-PreventSuspend-plugin . Он находится в python, использует DBus и Gnome Session Manager, но вы также можете адаптировать его.

В core.py есть классы «ингибиторов», где вы найдете, как именно это работает.

...