【发布时间】:2022-01-15 06:41:59
【问题描述】:
我希望我的 nodejs 应用程序执行一行命令并退出。该命令用于在远程机器上创建远程端口转发。
const exec = require("child_process").exec;
let script = "ssh -i cert.pem ubuntu@ec2 -R 9000:localhost:22 -S /tmp/.ssh-ec2 -M -fN ssh-ec2";
exec(script, (error, stdout, stderr) => {
console.debug(stdout);
});
节点测试.js
它挂在那里;但是如果我在终端中运行纯命令。
ssh -i cert.pem ubuntu@ec2 -R 9000:localhost:22 -S /tmp/.ssh-ec2 -M -fN ssh-ec2
它退出了。
我错过了什么?
【问题讨论】:
-
嗨@ahlev,你解决了吗?
-
在一个文件夹中发生了同样的事情,而在其他文件夹中,使用几乎相同的一个衬里脚本一切正常(唯一的区别是 rsync 的目标)。手动运行脚本也适用于这两个文件夹。