因此,我目前正在单元测试中,需要正常关闭应用程序。这需要我派生应用程序,然后在启动时需要使SIGINT
触发正常关闭。
这就是我调用我的gracefulShutdown()函数的方式,该函数仅检查某些连接,然后在最终杀死该应用程序之前检查不了什么。
process.on('SIGINT', () => {
gracefulShutdown()
})
当我在单元测试中派生应用程序并验证其已启动并且正在运行时,我随后使用SIGINT
发送一个sub_process.kill('SIGINT')
信号。我遇到的问题是,这不会触发Windows正常关闭。它可以在OS X和Unix上正常运行,但不能在Windows上运行……但是,如果我在单元测试之外运行该应用程序并使用Ctrl + C
,则可以正常运行。
我只是在寻找解决方法或解决方案,使我可以在Windows上使用它。我知道Windows不能像OS X或Linux那样处理信号。但是,您会认为process.kill('SIGINT')
会起作用。