我有一个包含IP,端口,用户和密码的文本Blob,我想在这里写一个小的实用程序脚本:
如何从带有参数的节点启动ssh命令,退出节点并继续ssh'ing?我发现的有关child_process的文档涉及在节点内启动和控制流程,但是我只想退出并在ssh启动后接手。
答案 0 :(得分:1)
以下代码将满足您的要求,并根据需要进行调整。该程序执行以下操作:
port
stdin
读取数据ssh
启动child_process.fork
代码:
var port = require('fs').readFileSync('port.txt');
const rl = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter hostname: ', (answer) => {
require('child_process').spawn('ssh', [answer, port],
{stdio: [process.stdin, process.stdout, process.stderr]});
});
除了以下几点外,该问题已得到回答:
退出节点并继续ssh'ing
我不知道在任何编程语言中都可以做到这一点,但是更好的答案可以纠正我。而是启动子进程并将所有输入/输出重定向到该子进程。从您的角度来看,您仅与ssh
进行交互,因此node
进程仍作为ssh
的父级存在的事实对您是透明的。
例如,perl
中的等效命令为system("ssh");