问题描述
我目前使用这个脚本来重新启动我的脚本。
catch(err){
console.log(err)
webhook.send(`Error monitoring **www.-.com**,restarting monitor.`)
await browser.close()
await sleep(monitorDelay)
return checkStock(page,monitorURL,browser,instock)
}
但是,如果我使用 CTRL+C 手动重新启动我的脚本,我想要一个单独的 webhook.send,它会显示“监控已停止”。有谁知道如何检测我的输入“CTRL+C”,然后 => ...
提前致谢!
解决方法
在节点中,您可以通过侦听 EVENT SIGINT
来捕获 CTRL + C 事件
示例脚本
console.log("In an infinite loop,CTRL + C to quit.")
// Start reading from stdin so we don't exit.
process.stdin.resume();
// catch ctrl+c event and exit normally
process.on('SIGINT',function () {
console.log('Ctrl+C was keyed in,make you webhook call here');
process.exit(0);
});
但是正如所指出的,这取决于您从命令提示符运行节点脚本文件。