-2

我有简单的 1 对 1 客户端和服务器基于 nodejs 的应用程序。nodejs 在 Linux(英特尔爱迪生)上运行。我想要做的是让 Linux 服务器在套接字损坏时自动重新启动。这可能吗?

这是我的简单 node-socketIO 服务器

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
      console.log(msg)
    io.emit('chat message', msg);
  });

  socket.on('disconnect', function(){
      //how to programmatically reboot?
          console.log('user disconnected');
      });
});

http.listen(3000, function(){
  console.log('listening on *:3000 yeah');
});
4

1 回答 1

0

你试过重启(npm)

安装:

npm install reboot

用法:

调用 sync() 然后重启:

require('reboot').reboot();

在没有同步()的情况下重新启动:

require('reboot').rebootImmediately();

还设置权限:权限

如果要在非超级用户下运行节点进程,请确保授予节点权限以重新启动系统:

sudo setcap CAP_SYS_BOOT=+ep /usr/local/bin/node
于 2015-03-03T01:23:15.710 回答