簡體   English   中英

ssh2連接錯誤后使node.js不退出

[英]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')
    });

它工作正常,但是如果返回錯誤,例如,如果我得到連接超時,則node.js應用程序將崩潰...

我想做以下事情:

  • 如果返回錯誤,只需重定向到/ servers頁面,而不會導致應用程序崩潰。

我試圖更改“ if(err)throw err;”。 符合“ if(err)res.redirect('/ servers');” 但這行不通...

有人可以幫我解決這個問題嗎? 我是node.js的新手:)

非常感謝。

error事件:

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

現在,您的進程因未解決連接錯誤而崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM