Nodejs ssh2 exec执行shell超时终止执行
来源:互联网 发布:程序员和老师结婚 编辑:程序博客网 时间:2024/06/05 15:24
使用ssh2 模块执行shell的时候,只有在连接目标机器时,有个readyTimeout用于设置ssh连接目标机器的超时终止的参数。
conn.connect({ host: ip, port: 22, username: user, password: password, readyTimeout: 5000});
没有用于设置shell执行的超时的参数,但是我的shell命令在机器负载高的情况下返回时间需要很久很久,需要超过一定时间需要终止掉shell。
看了github别人提得issue也没有很好的解决办法,后来用了个取巧的办法如下
解决办法
方法也是蛮简单,结合系统提供的shell命令timeout
例子:
timeout 2s pwd
var Client = require('ssh2').Client;var conn = new Client();conn.on('ready', function() { var command = 'source ~/.bash_profile;timeout 2s pwd' conn.exec(command, function(err, stream) { if (err) throw err; stream.on('close', function(code, signal) { conn.end(); }).on('data', function(data) { }); }); }).on('error', function(err) { }) .connect({ host: currentHost.host, port: currentHost.port, username: currentHost.username, password: currentHost.password readyTimeout: 5000 });
阅读全文
0 0
- Nodejs ssh2 exec执行shell超时终止执行
- shell下控制命令执行超时自动终止
- php 用exec执行shell命令时超时。
- Runtime.exec()执行linux shell
- Runtime.exec()执行linux shell
- ant使用exec执行shell
- Runtime.exec()执行linux shell
- Java Runtime.exec 执行shell命令
- php执行shell命令,system、exec、passthru
- shell 命令的执行—fork & exec
- shell中 exec执行 和 左上角两点执行的区别
- Java执行Shell脚本超时控制
- Java通过SSH2协议执行远程Shell脚本
- Java通过SSH2协议执行远程Shell脚本
- Java通过SSH2协议执行远程Shell脚本
- 纯JAVA实现远程执行SSH2主机的SHELL命令
- JAVA实现远程执行SSH2主机的SHELL命令
- Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)
- Linux工作站加固的6个方法
- 阿里云CentOS7 Silent Mode安装Oracle11GR2
- 机器学习精简教程之五——用scikit-learn求解多项式回归问题
- 每日MySQL之004:备份与恢复
- java 23种设计模式 深入理解
- Nodejs ssh2 exec执行shell超时终止执行
- Video http dash mp4 box slice
- 6. vue.js-饿了吗全套-项目文件介绍
- spring和mybatis整合
- 深度学习笔记——理论与推导之Structured Learning【Learning with Hidden Information】(九)
- 1099. Build A Binary Search Tree (30)建立二叉搜索树
- 快速排序算法
- Symbol
- 系列化