// отправка ошибки на сервер!!! const fs = require('node:fs/promises'); const util = require('util'); const runCommand = util.promisify(require('child_process').exec); let connectws= async () => { global.serialcpu = (await runCommand("cat /proc/cpuinfo | grep Serial")).stdout.split(": ")[1]; if (serialcpu.length>5) serialcpu=serialcpu.substring(0, serialcpu.length - 2); // прочитать файл let err,errp; try { err = await fs.readFile('./log/err.txt', "utf8"); errp = await fs.readFile('./log/errp.txt', "utf8"); if (err.length > 0 && err!=errp) { console.log("send start"); } else { console.log("not new err"); process.exit();} } catch (err) { console.log("err", err); process.exit(); } global.socket_to_server = new WebSocket("ws://ws.tirpriz.ru/ws"); socket_to_server.onopen = async (e) => { console.log("Соединение с сервером установлено"); socket_to_server.send(JSON.stringify({do:"log-err", tip:"pult", serialcpu, err})); }; socket_to_server.onmessage = async (event) => { console.log('[message] Данные получены с сервера:'+event.data); let postData=JSON.parse(event.data); if (postData.do="log-err") { await runCommand("cp ./log/err.txt ./log/errp.txt"); console.log("send ok"); } process.exit(); }; socket_to_server.onclose = (e)=> {console.log("closed"); process.exit(); }; socket_to_server.onerror = (err)=> {console.log("onerr"); process.exit(); }; } connectws(); setTimeout(()=>{ process.exit(); }, 5000); process.on("SIGINT", () => { // прослушиваем прерывание работы программы (ctrl-c) process.exit(); });