标题可能取的不准确,描述下问题: 最近做了一个系统内包含一个下载.zip 文件的功能,单个文件很小,最多就几百 kb
现在发现在 /proc/pid/fd 下的句柄数量不断增多,但是我自己在测试服上测试了下,又没有重现,不管怎么下载,都没有下载相关的句柄停留,不知道什么问题
下载代码如下:
let mime = "text/plain";
let file_path = path.join('..gm/', process.cwd(), 'uploads', file_name);
fs.exists(file_path, function (exists) {
if (!exists) {
message.setCode(CODE.OBJECT_NOT_EXIST);
return message.send();
}
//获得文件信息
fs.stat(file_path, function (err, stats) {
if (err) {
message.setCode(CODE.FAIL);
return message.send();
}
let content = fs.createReadStream(file_path, {flags: 'r'});
res.writeHead(200, {
'Content-Type': mime,
"Content-Length": stats.size,
'Content-Disposition': 'attachment; filename=' + file_name
});
content.pipe(res);
content.on('end', function () {
res.end();
});
});
});
贴部分句柄数据
72 -> /home/ec2-user/gm/uploads/respatch_scorequest_android_a.zip
73 -> /home/ec2-user/gm/uploads/cpatch_scorequest_android_a.zip
74 -> /home/ec2-user/gm/uploads/respatch_scorequest_android_a.zip
75 -> /home/ec2-user/gm/uploads/cpatch_scorequest_android_b.zip
76 -> /home/ec2-user/gm/uploads/respatch_scorequest_android_a.zip
77 -> /home/ec2-user/gm/uploads/bpatch_scorequest_android_a.zip
78 -> /home/ec2-user/gm/uploads/bpatch_scorequest_android_a.zip
79 -> /home/ec2-user/gm/uploads/respatch_scorequest_android_a.zip
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.