为什么调用child_process.fork()后,在子进程里面winston无法工作呢?
发布于 9 年前 作者 LanceHBZhang 4521 次浏览 最后一次编辑是 8 年前 来自 问答

求大神帮忙。 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) 如果是权限问题这样应该是可以解决的

回到顶部