Я использую childprocess
для запуска netstat -a -b -o
const { spawn } = require('child_process');
const child = spawn('netstat', ['-a','-b','-o']);
child.stdout.setEncoding('utf8');
И я обрабатываю это как поток
child
.stdout
.pipe(transformer());
Transformer в настоящее время не полностью реализован, так как я просто тестирую, но сейчас это примерно так:
const Transform = require('stream').Transform;
function xformer () {
let count = 0;
return new Transform({
objectMode: true,
transform: function(data, _, done) {
if (data.slice(-2) !== "\r\n") {
var breakk = true;
}
// this.push(something);
done();
}
})
}
То, как я собираюсь обработать этот поток в функции преобразования, очень сильно зависит от того, могу ли я полагаться на все «данные», заканчивающиеся на «\ r \ n», или на один экземпляр data
может фактически начинаться с середины строки, в которой был предыдущий экземпляр data
.
На данный момент похоже, что он всегда заканчивается \r\n
, так что это будет хорошо. Просто хотел подтвердить, прежде чем делать предположения