NEWS
Использование exec
-
Прошу подсказать, в чем моя ошибка?
Хочу использовать exec для получения загрузки процессора:
exec("ps aux | awk '{s += $3} END {print s "%"}'", function (error, stdout, stderr) { setState("Home.0.System.ProcessorLoad", formatValue(stdout, 2, ' .'), true); log(error); log(stdout); log(stderr); });
в error и stderr получаю ошибку: "Error: Command failed: /bin/sh: 1: NaN: not found".
При запуске непосредственно в терминале команда отрабатывает нормально. Для ps и awk пробовал ставить полные пути - не помогло.
Кроме того, в логе вижу предупреждение: "Wrong type of Home.0.System.ProcessorLoad: "string". Please fix, while deprecated and will not work in next versions."
Объект создан через административную панель, тип данных - число.
-
@Ho Hum:Прошу подсказать, в чем моя ошибка?
Хочу использовать exec для получения загрузки процессора:
exec("ps aux | awk '{s += $3} END {print s "%"}'", function (error, stdout, stderr) { setState("Home.0.System.ProcessorLoad", formatValue(stdout, 2, ' .'), true); log(error); log(stdout); log(stderr); });
в error и stderr получаю ошибку: "Error: Command failed: /bin/sh: 1: NaN: not found".
При запуске непосредственно в терминале команда отрабатывает нормально. Для ps и awk пробовал ставить полные пути - не помогло.
Кроме того, в логе вижу предупреждение: "Wrong type of Home.0.System.ProcessorLoad: "string". Please fix, while deprecated and will not work in next versions."
Объект создан через административную панель, тип данных - число. `
Может так?
exec("ps aux | awk '{s += $3} END {print s \"%\"}'", function (error, stdout, stderr)
А такой код работает?
exec("ps aux", function (error, stdout, stderr)
-
Большое спасибо!
Первый вариант сработал.