Суть в следующем: я хочу передать в программу на с\с++ данные о загрузке cpu или gpu(например, температуру) на linux(ubuntu 16.04), но не используя при этом посторонних утилит типа lm sensors. Т.е. я хочу извлекать данные напрямую с датчиков(если это возможно) и передавать их в программу для дальнейших действий, либо как-то получать эти данные в процессе работы программы. Видел много ответов по поводу подобных действий с использованием winapi, но под linux что-то не нашел(или проглядел). А теперь, внимание, вопрос: мб кто-то сталкивался с этим\писал что-то подобное\знает что гуглить на эту тему или даже вдруг знает, как это реализовать? Заранее благодарен!
Непосредственно с датчиков вы эти данные никак не получите. Ядро linux не позволит пользовательскому приложению обращаться напрямую к оборудованию. Кроме того, вам фактически придется реализовывать собственный lm_sensors, потому как на разных чипсетах данные получаются различным образом и по факту нужны драйвера для каждого конкретного датчика. Драйвера датчиков в linux уже есть и они как раз зовутся lm_sensors (ядерная часть, а не утилита). Обратите внимание, в windows точно так же, есть драйвера в ядре и есть интерфейс winapi.
В linux получить всю информацию от драйверов датчиков, а так же управлять некоторыми параметрами (скоростью вращения вентиляторов и пределами) можно через файловый интерфейс /sys/class/hwmon
и /sys/bus/platform/devices/coretemp.0
. Описание интерфейса можно найти в файле Documentation/hwmon/sysfs-interface
исходников ядра.
Загрузку процессоров можно посчитать на основе данных из файла /proc/stat
. Описание этого интерфейса можно найти в Documentation/filesystems/proc.txt
исходников ядра.
Виртуальный выделенный сервер (VDS) становится отличным выбором
В лаунчере на С++ должны поочерёдно запускаться несколько других приложенийКомадны запуска для всех приложений одинаковые - например,
Данные об успешности студентов записано в N строках символов, каждый из которых имеет следующую структуру: фамилия и др, № зачетной книжки,...
Не могли бы объяснить отличие выполнение кода на рекурсивном спуске и возврате (с примером)? Как вообще определить, что программа выполняется...