CNode

为什么调用child_process.fork()后,在子进程里面winston无法工作呢?

问答
LLanceHBZhang发布于11 年前最后回复11 年前1 回复4963 浏览0 收藏

求大神帮忙。 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)

D
dayuoba#1·11 年前

cp.exec('sudo node child.js', callback) 如果是权限问题这样应该是可以解决的

参与回复
登录后即可参与回复。登录