如果可以,我想在用CTRL + C杀死一个npm脚本时执行一些命令或脚本。例如,如果gulp watch被中断。 有可能的?
答案 0 :(得分:3)
进程即将退出时会发出
exit
事件。此时无法阻止退出事件循环,并且一旦所有“退出”侦听器都已完成运行,该进程将退出。因此,您只能在此处理程序中执行同步操作。
要同步生成某个命令,您可以查看Synchronous Process Creation:
process.on('exit', code => {
require('child_process').spawnSync(...);
require('child_process').execSync(...);
require('child_process').execFileSync(...);
});
答案 1 :(得分:1)
如果您有一个通过npm运行的自定义脚本,则可以收听进程或子进程的exit
事件。 e.g。
process.on('exit', () => {
console.log('I am exiting....');
});
更多信息here