NJS - Неправильное чтение файла
edc
nginx-forum на forum.nginx.org
Ср Апр 15 21:41:50 UTC 2020
Возникла необходимость читать счётчики с сетевых интерфейсов. Метрика
доступна в файле /sys/class/net/eth0/statistics/rx_bytes
NJS возвращает текущее значение и вдобавок к метрике мусор. Похоже весь файл
читается блоком в 4K. Если тот-же код выполнить в ноде - результат
корректен. Правильное ли это поведение njs?
Пример кода - test.js
var fs = require('fs')
var file = fs.readFileSync('/sys/class/net/eth0/statistics/rx_bytes')
var file = fs.writeFileSync('filecopy.txt', file)
Проверка:
stat /sys/class/net/wlp61s0/statistics/rx_bytes
File: /sys/class/net/wlp61s0/statistics/rx_bytes
Size: 4096 Blocks: 0 IO Block: 4096 regular file
njs test.js
stat filecopy.txt
File: filecopy.txt
Size: 4096 Blocks: 8 IO Block: 4096 regular file
node test.js
stat filecopy.txt
File: filecopy.txt
Size: 10 Blocks: 8 IO Block: 4096 regular file
Версии:
njs -v
0.3.9
node -v
v8.10.0
Проверял на Ubuntu 18.04.4 LTS и так же в Docker nginx:latest
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,287667,287667#msg-287667
Подробная информация о списке рассылки nginx-ru