Чтобы сделать сценарий безопасным, я рекомендую установить температуру отсечки для вашего процессора. Вы можете проверить температуру вашего процессора, используя встроенные Pythons psutil
import psutil
print(psutil.sensors_temperatures())
Выход:
{'coretemp': [shwtemp(label='Package id 0', current=55.0, high=82.0, critical=100.0), shwtemp(label='Core 0', current=35.0, high=82.0, critical=100.0), shwtemp(label='Core 1', current=34.0, high=82.0, critical=100.0), shwtemp(label='Core 2', current=55.0, high=82.0, critical=100.0), shwtemp(label='Core 3', current=34.0, high=82.0, critical=100.0), shwtemp(label='Core 4', current=35.0, high=82.0, critical=100.0), shwtemp(label='Core 5', current=34.0, high=82.0, critical=100.0)]}
Так что вам нужно написать скрипт, который может ссылаться на это и убедиться, что ядра не достигают критических температур.
Так что, может быть, во время цикла while вы могли бы изменить это так
critical_temp = 80.0
keep_heating = True
cpu_temperatures = psutil.sensors_temperatures()
for cpu_temp in cpu_temperatures['coretemp']:
if cpu_temp >= critical_temp:
keep_heating = False
Тогда циклы while могут включать keep_heating
в качестве условия.
while process_count <= multiprocessing.cpu_count() and keep_heating:
process_to_be_not_seen_again = multiprocessing.Process(target=round_robin_count)
process_to_be_not_seen_again.start()
process_count += 1
some_function_to_recheck_heat()
Вероятно, добавьте функцию для уничтожения процессов.