首页 > 解决方案 > 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”,然后 => ...

提前致谢!

标签: javascriptnode.jspuppeteercheerio

解决方案


在节点中,您可以通过侦听来捕获 CTRL + C 事件EVENT SIGINT

示例脚本

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

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


推荐阅读