node . js插座.io脚本在1-2天后被SIGSEGV杀死
node.js socket.io script getting killed by SIGSEGV after 1-2 days
我永远运行我的node.js服务器,我的脚本在1-2天内被杀死,我在日志文件中得到这个错误:
error: Forever detected script was killed by signal: SIGSEGV
现在我有很多函数在我的node.js脚本。在每个函数的开头编写console.log时,我最终在日志中得到以下内容:
info: transport end (undefined)
debug: set close timeout for client CbU1mvlYaIvDWHB4ChQa
debug: cleared close timeout for client CbU1mvlYaIvDWHB4ChQa
disconnection function
debug: discarding transport
debug: clearing poll timeout
debug: client authorized
info: handshake authorized 2O3m1B3dGWFOJ4W9ChQc
error: Forever detected script was killed by signal: SIGSEGV
日志使它看起来好像连接或断开连接功能有问题,但作为脚本seg故障后2天的运行和超过10000连接/断开我认为这可能不是真正的问题。
这是我的连接和断开功能。我还通过node-dbi连接到我的PGSQL数据库:
var DBWrapper = require('node-dbi').DBWrapper;
var DBExpr = require('node-dbi').DBExpr;
var dbConnectionConfig = { host: 'localhost', user: 'user', password: 'pass', database: 'dbname' };
dbWrapper = new DBWrapper( "pg", dbConnectionConfig );
dbWrapper.connect();
io.sockets.on('connection', function(socket) {
console.log("socket connection");
socket.on('set username', function(userName) {
var milliseconds = (new Date).getTime();
var data = { socketid: socket.id, time: milliseconds };
dbWrapper.insert('all_sockets', data , function(err) {
});
});
socket.on('disconnect', function() {
console.log("disconnection function");
dbWrapper.remove('all_sockets', [['socketid=?', socket.id]] , function(err) {} );
});
});
段故障可能来自哪里?
我建议使用段错误处理程序来确定STDERR。这样,您将获得更多有用的调试信息。
你可以在这里找到
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 显示5秒后隐藏潜水
- 值对象在某个变量发生更改后发生更改
- 从控制器返回后Ajax启动事件激发
- FullCalendar夏令时将事件向后移动1天
- 添加1天后发布的日期
- 输入标签上 7 天后的日期
- Openfire 会在一天后删除 pub sub 节点(而不是在服务器重新启动或删除缓存后)
- 几天后,昨天停止工作jQuery
- 我的 Javascript cookie 在会话时过期,而不是在 30 天后过期
- jQuery 日期选择器,退房日期是入住日期后的一天
- 如何从jquery日期选择器禁用周末和特定时间后的前几天的假期
- Javascript new Date(字符串)返回一天后
- 如何在15天后自动删除数据库中的一行数据
- node . js插座.io脚本在1-2天后被SIGSEGV杀死
- 几天后删除图像
- 我如何使用我的代码将cookie设置为在x天后过期
- Javascript:日期.setHours(12, 0, 0, 0)将日期向后转一天