#!/usr/bin/env python3
import subprocess
import time
import sys
low = int(sys.argv[1]); high = int(sys.argv[2]); command = sys.argv[3:]; proc = command[0]
def get_temps():
data = subprocess.check_output("sensors").decode("utf-8").splitlines()
return sum([[float(l.split(":")[1].split()[0].replace("+", "").replace("°C", "")) \
for l in data if l.startswith(mark)]for mark in ["temp1", "Core"]], [])
def manage_start():
try:
pid = subprocess.check_output(["pgrep", proc]).decode("utf-8").strip()
subprocess.Popen(["killall", "-s", "CONT", proc])
except subprocess.CalledProcessError:
subprocess.Popen(["/bin/bash", "-c", (" ").join(command)])
run = False
while True:
time.sleep(1)
if run == False:
if all([n < low for n in get_temps()]):
manage_start(); run = True
elif run == True:
if not all([n < high for n in get_temps()]):
subprocess.Popen(["killall", "-s", "STOP", proc]); run = False
python3 /path/to/temp_run.py 60 80 gedit /path/to/file.txt
(используя другой текстовый редактор для изменения номеров) Поскольку у меня нет разнообразия в реальной температуре, в скрипте я заменил функцию get_temps() функцией, считывая числа из текстового файла.
Таким образом, «подавая» сценарий с виртуальными температурами, он выполнял задание без ошибок: пауза выше «высокая» при работе, возобновляющаяся ниже «низкая» при паузе.
Когда скрипт запускается
, он проверяет, находятся ли все температуры ниже нижнего порога. Если это так, то он либо запускает процесс, либо возобновляет его, если он уже запущен, и устанавливает переменную: run = True. В результате следующий тест заключается в том, что все временные параметры ниже самого высокого порога, если нет, процесс приостанавливается , скрипт устанавливает: run = False, делая следующий тест, если все темпы ниже нижнего и т. д. ...Сценарий может быть убит :
kill "$(pgrep -f temp_run.py)"
Два способа приблизиться к этому ...
Самый безопасный способ:
сделать резервную копию ваших важных документов Ubuntu и Windows удалить примечание Ubuntu (sda3 / 5/6): вы не сможете загружать Windows, теперь используйте диск Windows Repair или boot-repair, чтобы исправить проблему с загрузкой без Windows. Расширьте раздел Windows, используя собственный инструмент управления дисками Windows, заново установите UbuntuСамый безопасный способ:
сделать резервную копию важных документов Ubuntu и Windows загрузить Ubuntu Live DVD / USB удалить Ubuntu (sda3 / 5/6): вы не сможете загружать Windows сейчас изменить размер sda3, используя gparted , используя диск Windows Repair или boot-repair, чтобы исправить проблему загрузки без Windows [ ! d6] расширить раздел Windows с помощью собственного инструмента управления дисками Windows!Обновление # 1:
gparted перемещать / изменять размеры нот ...
] загрузите Ubuntu Live DVD / USB , перемещение выполняется путем указания указателя мыши в центре раздела и перетаскивания его влево / вправо с помощью курсора изменить размер sda3 с помощью gparted ] расширяет Win dows с помощью собственного инструмента управления дисками Windows! вы начинаете любое перемещение / изменение размера, щелкнув правой кнопкой мыши на разделе в нижней части главного окна и выбрав нужное действие из всплывающего меню, а затем завершите это действие в новое окно перемещения / изменения размераНет, вы не можете использовать свой расширенный раздел для Windows, он формируется в формате Ext4, какие окна не понимают! 1. Вы не можете взять пространство из расширенного раздела, вы должны взять его из раздела 3 (см. Комментарий Райвери). 2. Расширенный раздел предназначен для хранения всех разделов выше И включая раздел 4 (у GPT нет этого ограничения, что в основном почему мы все переходим на GPT). Старый способ выполнения MBR относится к старым временам, когда размер раздела может быть не более 32 МБ (это правильный мегабайт, ваши USB-накопители теперь больше)
Вы может создать раздел NTFS для отображения изображений и видеороликов и установить его как в Ubuntu, так и в Windows!
Таким образом вы можете редактировать и смотреть свои файлы с обеих ОС, а также использовать приложения, которые вам больше всего знакомы - therby получить наиболее удовлетворительный опыт из обеих ОС!
Два способа приблизиться к этому ...
Самый безопасный способ:
сделать резервную копию ваших важных документов Ubuntu и Windows удалить примечание Ubuntu (sda3 / 5/6): вы не сможете загружать Windows, теперь используйте диск Windows Repair или boot-repair, чтобы исправить проблему с загрузкой без Windows. Расширьте раздел Windows, используя собственный инструмент управления дисками Windows, заново установите UbuntuСамый безопасный способ:
сделать резервную копию важных документов Ubuntu и Windows загрузить Ubuntu Live DVD / USB удалить Ubuntu (sda3 / 5/6): вы не сможете загружать Windows сейчас изменить размер sda3, используя gparted , используя диск Windows Repair или boot-repair, чтобы исправить проблему загрузки без Windows [ ! d6] расширить раздел Windows с помощью собственного инструмента управления дисками Windows!Обновление # 1:
gparted перемещать / изменять размеры нот ...
] загрузите Ubuntu Live DVD / USB , перемещение выполняется путем указания указателя мыши в центре раздела и перетаскивания его влево / вправо с помощью курсора изменить размер sda3 с помощью gparted ] расширяет Win dows с помощью собственного инструмента управления дисками Windows! вы начинаете любое перемещение / изменение размера, щелкнув правой кнопкой мыши на разделе в нижней части главного окна и выбрав нужное действие из всплывающего меню, а затем завершите это действие в новое окно перемещения / изменения размера