杀死子nodejs进程并删除其目录

时间:2014-05-27 19:51:50

标签: node.js child-process kill-process sigkill

我正在创建一个AI竞赛,竞争对手可以将他们的AI(节点服务器)上传到我们的节点服务器,然后我们接收他们的代码并以自动方式运行它。

首次代码上传时,我使用child_process.spawn()运行node server.js xxx,其中xxx是其端口。我将生成的孩子以及竞争对手的id存储在内存中。当他们第二次上传时,我会按竞争对手ID搜索我存储的子流程,并在流程上调用process.kill(pid, 'SIGKILL')

在每个产生的孩子身上,我设置了child.on('close', callback)。在这个回调中,我想删除他们上传节点服务器的代码目录,然后复制他们的新代码并再次启动节点服务器。但是,我无法删除代码目录,因为它仍在使用中(我收到EBUSY错误),我认为我没有正确地杀死节点进程。

这是一个好的方法吗?如果是这样,我做错了什么?

0 个答案:

没有答案