Nodejs / Javascript 输入 CTRL+C console.log

问题描述

我目前使用这个脚本来重新启动我的脚本。

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);
});

但是正如所指出的,这取决于您从命令提示符运行节点脚本文件。