为什么调用child_process.fork()后,在子进程里面winston无法工作呢?
求大神帮忙。 parent.js
var cp = require('child_process');
cp.fork('./child.js');
child.js
var logger = new (winston.Logger)({
transports : [new (winston.transports.FileRotateDate)({
filename : '/var/log/child.log',
maxsize : 26214400,
maxFiles : 10,
json : false
})]
});
logger.info('in child');
......其余代码
问题: 如果单独执行 node child,child.js里面的log能正常打印到/var/log/child.log里面去。 而如果执行node parent, 通过cp.fork(’./child.js’)方式,/var/log/child.log都不会生成,更没有任何log打印到这个文件里面去。
求为何?谢谢!
1 回复
cp.exec('sudo node child.js', callback)
如果是权限问题这样应该是可以解决的