回调从未在 child_process.exec 中调用过 redis
Callback never called in child_process.exec with redis
我正在尝试使用 child_process
模块从节点启动 redis
,代码如下:
var childProcess = require('child_process');
childProcess.exec('redis-server --port 6380', function(err, stdout, stderr) {
console.log(err, stdout, stderr);
})
当我 运行 它时,永远不会调用回调。我可以看到我的 redis-server
已使用 ps auwx | grep redis-server
在端口 6380 上启动,所以我不明白为什么没有调用此回调。
请注意,当我在终端中 运行 redis-server --port 6380
时,redis 也可以正常启动。
我已经用 memcached
试过了,效果很好。
这个回调没有被调用是什么原因?
非常感谢
因为只有在进程终止时才会调用回调。
如果您需要检查 redis 进程是否已完成初始化,您可以使用 spawn 和 stdout 的事件处理程序。
我正在尝试使用 child_process
模块从节点启动 redis
,代码如下:
var childProcess = require('child_process');
childProcess.exec('redis-server --port 6380', function(err, stdout, stderr) {
console.log(err, stdout, stderr);
})
当我 运行 它时,永远不会调用回调。我可以看到我的 redis-server
已使用 ps auwx | grep redis-server
在端口 6380 上启动,所以我不明白为什么没有调用此回调。
请注意,当我在终端中 运行 redis-server --port 6380
时,redis 也可以正常启动。
我已经用 memcached
试过了,效果很好。
这个回调没有被调用是什么原因?
非常感谢
因为只有在进程终止时才会调用回调。
如果您需要检查 redis 进程是否已完成初始化,您可以使用 spawn 和 stdout 的事件处理程序。