UNPKG

cna-monitor

Version:

监控域名/IP地址是否可达,并记录可访问性

32 lines (31 loc) 1.05 kB
const events = require('events'); const path = require('path'); function daemons(jscript, args = []) { const self = this; if (!self._EventEmitter) { self._EventEmitter = new events.EventEmitter(); } let _jscript = path.basename(jscript); const { spawn } = require('child_process'); let node = spawn(process.execPath, [_jscript, ...args], { cwd: path.dirname(jscript), windowsHide: true }); self._EventEmitter._process = node; node.on('close', (err) => { console.error("进程出现异常,5秒后自动启用守护,自动启动", err); setTimeout(() => { daemons(jscript, args); }, 5000); }); node.stdout.on('data', (data) => { // console.log(data.toString()); self._EventEmitter.emit("stdout", data); }); node.stderr.on('data', (data) => { // console.error(data.toString()); self._EventEmitter.emit("stderr", data); }); return self._EventEmitter; } daemons(path.join(__dirname,'./cna.js'));