在Node.js上终止(如Ctrl+C)exec(子进程)是指在Node.js中执行exec函数创建的子进程时,如何通过终止信号(如Ctrl+C)来停止子进程的执行。
exec函数是Node.js中的一个内置模块child_process提供的方法,用于在Node.js中执行外部命令。当使用exec函数创建子进程时,有时候需要手动终止子进程的执行,可以通过以下步骤来实现:
以下是一个示例代码:
const { exec } = require('child_process');
const child = exec('command');
process.on('SIGINT', () => {
child.kill('SIGINT');
});
child.stdout.on('data', (data) => {
console.log(`子进程输出:${data}`);
});
child.stderr.on('data', (data) => {
console.error(`子进程错误输出:${data}`);
});
child.on('close', (code) => {
console.log(`子进程退出,退出码:${code}`);
});
在上述代码中,我们使用exec函数创建了一个子进程,并通过process对象的SIGINT事件来监听终止信号。当捕获到SIGINT信号时,调用子进程对象的kill方法发送SIGINT信号给子进程。同时,我们还监听了子进程的输出和错误输出,并在子进程退出时打印退出码。
这样,当我们在终端中按下Ctrl+C时,会触发SIGINT信号,父进程会捕获到该信号并终止子进程的执行。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)
领取专属 10元无门槛券
手把手带您无忧上云