你好,我正在使用child_process.spwan在Windows上启动运行Python脚本的子进程。该脚本监听SIGINT以优雅地退出自身。但是Windows不支持信号,所有node只是模拟了它。因此,在Windows上使用child_process.kill('SIGINT')
实际上是无条件地杀死进程(没有优雅的退出,Python的SIGTERM / SIGINT处理程序不会被调用)。同时,向stdin写入ctrl+c
字符也不起作用。
当我查看Python API时,我发现了CTRL_BREAK_EVENT和CTRL_C_EVENT可以满足需求。我想知道node是否有类似这些的特定于平台的API?
相关帖子但不起作用: 如何发送控制C node.js和child_processes 使用stdin.write()向node.js生成的childprocess发送crtl+c?