脚本终止时NodeJS运行命令

时间:2016-06-01 14:47:06

标签: node.js npm gulp

如果可以,我想在用CTRL + C杀死一个npm脚本时执行一些命令或脚本。例如,如果gulp watch被中断。 有可能的?

2 个答案:

答案 0 :(得分:3)

  

进程即将退出时会发出exit事件。此时无法阻止退出事件循环,并且一旦所有“退出”侦听器都已完成运行,该进程将退出。因此,您只能在此处理程序中执行同步操作。

来自Node.js process docs

要同步生成某个命令,您可以查看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