📅  最后修改于: 2023-12-03 15:38:22.101000             🧑  作者: Mango
在 Node.js 中,我们可以通过 process
模块的 SIGINT
事件来检测 Ctrl+C 信号。当用户按下 Ctrl+C 时,操作系统将会发送 SIGINT 信号给进程,我们可以通过监听 SIGINT 事件来捕获这个信号并执行相应的操作。
要监听 SIGINT 事件,可以在 Node.js 程序中加入以下代码:
process.on('SIGINT', () => {
console.log('Received SIGINT. Press Control-D to exit.');
// 在这里执行你的清理代码
});
其中 process.on
表示注册一个事件监听器,第一个参数是事件名称,第二个参数是事件处理函数。在这里,我们注册了一个 SIGINT 事件监听器,在事件处理函数中打印一条信息,并执行了一个清理代码的占位符。
当监听到 SIGINT 事件时,我们可以使用 process.exit
方法来退出程序。例如:
process.on('SIGINT', () => {
console.log('Received SIGINT. Exiting...');
process.exit(0);
});
其中,process.exit(0)
表示正常退出程序,如果你需要在退出时返回一个非零的退出码,可以将 0
修改为其他数字。
以下是一个完整的示例代码:
process.on('SIGINT', () => {
console.log('Received SIGINT. Exiting...');
// 在这里执行你的清理代码
process.exit(0);
});
console.log('Press Control-C to exit.');
以上代码会输出一条提示信息,等待用户按下 Ctrl+C。当检测到 SIGINT 信号时,会打印一条退出信息,并执行清理代码,最后正常退出程序。