Хотя пакет os
стандартной библиотеки go предоставляет множество полезных утилит для взаимодействия с функциональными возможностями операционной системы, они гораздо «более низкого уровня», чем те, на которые вы ссылаетесь из классов .NET System.Management
.Скорее всего, вам придется реализовать поведение этих классов самостоятельно, чтобы достичь желаемого результата (используя инструмент из пакета Go os
в качестве основных «строительных блоков»)
Тем не менее, существует порт psutilв Go (gopsutil
- https://github.com/shirou/gopsutil/), которая предоставляет утилиты для получения информации о запущенных процессах, а также об использовании системы. Это, скорее всего, обеспечит абстракцию более высокого уровня, которую вы можете использовать для реализации своей программы.
Если gopsutil
слишком самоуверенный или высокий уровень для ваших нужд, я бы также проверил пакеты для конкретной операционной системы в под-репозиториях golang.
Документировано здесь: https://godoc.org/golang.org/x/sys
Источник здесь: https://github.com/golang/sys/