gpt4 book ai didi

javascript - 在 nodejs 中保持 SSH 连接

转载 作者:行者123 更新时间:2023-11-30 17:40:33 26 4
gpt4 key购买 nike

我正在使用 simple-ssh npm 模块进行远程连接,它在下面的代码中运行良好

 var SSH = require('simple-ssh');

var ssh = new SSH({
host: 'localhost',
user: 'username',
pass: 'password'
});

但问题是当我第一次执行命令时它工作正常,但是当我下次尝试执行时进程进入空闲状态。

 window.setInterval(function(){
ssh.exec('echo $PATH', {
out: function(stdout) {
console.log(stdout);
}
}).start();
}, 1000);

定时器第一次执行,第二次不执行。

最佳答案

似乎在上一个调用尚未完成时调用 exec 会导致问题(至少,当我测试您的脚本时它看起来是这样的)。

不使用 setInterval,而是使用 setTimeout 并在 exec 结束但开始新调用之前重置连接。

这对我有用:

setTimeout(function executeCommand() {
ssh.exec('echo $PATH', {
out: function(stdout) {
console.log('S', stdout);
},
exit: function() {
ssh.reset(function() {
setTimeout(executeCommand, 1000);
});
}
}).start();
}, 1000);

关于javascript - 在 nodejs 中保持 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21184415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com