使node.js在ssh2连接错误后不退出

make node.js not exit after ssh2 connection error

我的 node.js 应用程序中有以下代码,用于使用 ssh2 测试与服务器的 SSH 连接:

    var Connection   = require('ssh2');
    var conn         = new Connection();
    conn.on('ready', function() {
        console.log('Connection :: ready');
        conn.exec('uptime', function(err, stream) {
            if (err) throw err;
            stream.on('exit', function(code, signal) {
              console.log('Stream :: exit :: code: ' + code + ', signal: ' + signal);
            }).on('close', function() {
              console.log('Stream :: close');
              conn.end();
            }).on('data', function(data) {
              console.log('STDOUT: ' + data);
            }).stderr.on('data', function(data) {
              console.log('STDERR: ' + data);
            });
        });
    }).connect({
      host: serverIp,
      port: serverPort,
      username: serverUsername,
      privateKey: require('fs').readFileSync('./id_rsa')
    });

它工作正常,但如果它 returns 出错,例如,如果我遇到连接超时,node.js 应用程序崩溃...

我想做以下事情:

我试图用 "if (err) res.redirect('/servers');" 更改 "if (err) throw err;" 行,但它不起作用...

有人可以帮我解决这个菜鸟问题吗?我是 node.js 的新手:)

非常感谢。

收听 error 事件:

conn.on('error', function(e) { /* do whatever */ });

现在,您的进程崩溃了 b/c 未处理连接错误。