Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果点击control-c手动终止终端,则子进程on(“";exit";,()=>;{})不工作_Javascript_Node.js_Child Process - Fatal编程技术网

Javascript 如果点击control-c手动终止终端,则子进程on(“";exit";,()=>;{})不工作

Javascript 如果点击control-c手动终止终端,则子进程on(“";exit";,()=>;{})不工作,javascript,node.js,child-process,Javascript,Node.js,Child Process,我有一个这样的程序 const subprocess=spawn(“长时间运行的服务器”); 子进程打开(“退出”,()=>{ 控制台日志(“正在退出…”); }); 如果长时间运行的服务器完成其任务,则将执行on退出回调 但是,如果在长时间运行的服务器仍在工作时手动点击control-c,则不会执行exit回调 即使用户手动终止终端,如何实现执行exit回调?尝试捕获中断信号SIGINT 当用户希望中断进程时,SIGINT信号由其控制终端发送到进程。这通常通过按Ctrl+C启动,但在某些系统

我有一个这样的程序

const subprocess=spawn(“长时间运行的服务器”);
子进程打开(“退出”,()=>{
控制台日志(“正在退出…”);
});
如果长时间运行的
服务器
完成其任务,则将执行on
退出
回调

但是,如果在长时间运行的服务器仍在工作时手动点击
control-c
,则不会执行
exit
回调


即使用户手动终止终端,如何实现执行
exit
回调?

尝试捕获中断信号SIGINT

当用户希望中断进程时,SIGINT信号由其控制终端发送到进程。这通常通过按Ctrl+C启动,但在某些系统上,可以使用“删除”字符或“中断”键

subprocess.on("SIGINT", () => {
  console.log("Exiting....");
});