我正在尝试重新启动一个名为serverSpawnProcess
的child_process
。虽然我可以停止它,但是我无法再次启动它。
serverSpawnProcess.stdin.write('stop\n');
serverSpawnProcess = null;
setTimeout(function() {
serverSpawnProcess = spawn('java', [
'-Xmx512M',
'-Xms512M',
'-jar',
'server_files/minecraft_server.jar',
'nogui'
]);
response.send('r');
}, 10000);
这是我认为的做法,但它只会停止服务器,而不会再次生成。 如果有帮助的话,Node.js版本号为5.3.0。
编辑 为了其他人的参考,我最终将 spawn 放入一个函数中,并像这样调用该函数。
serverSpawnProcess.on("close", function() {
response.send('r2');
// Wait for process to exit, then run again
startServer();
});