无法 运行 使用 exec 执行终端命令
Can't run terminal commands with exec
我正在尝试在 nodejs 中使用 exec 函数,但它不起作用。
这是我正在运行的代码:
import { exec } from "child_process";
exec("ssh ubuntu@myserverip", (error, stdout, stderr) => {
if (error) {
console.error(`error: ${error.message}`);
}
if (stderr) {
console.error(`stderr: ${stderr}`);
}
else {
console.log(`stdout:\n${stdout}`);
}
});
这就是它 returns :
虽然这是我直接在终端上写的输出:
知道如何修复它吗?
你应该用spawn,exec是用来执行命令的,它的结果会立即传递给我,或者在很短的时间内,它必须很快,输出或结果要到哪里交付给我的不是很大,
因为 exec 创建了一个缓冲区(内存 space),它将开始存储命令的所有输出,此外它还有一个超时,如果命令没有在那个时间内完成,它会终止进程。
我正在尝试在 nodejs 中使用 exec 函数,但它不起作用。
这是我正在运行的代码:
import { exec } from "child_process";
exec("ssh ubuntu@myserverip", (error, stdout, stderr) => {
if (error) {
console.error(`error: ${error.message}`);
}
if (stderr) {
console.error(`stderr: ${stderr}`);
}
else {
console.log(`stdout:\n${stdout}`);
}
});
这就是它 returns :
虽然这是我直接在终端上写的输出:
知道如何修复它吗?
你应该用spawn,exec是用来执行命令的,它的结果会立即传递给我,或者在很短的时间内,它必须很快,输出或结果要到哪里交付给我的不是很大, 因为 exec 创建了一个缓冲区(内存 space),它将开始存储命令的所有输出,此外它还有一个超时,如果命令没有在那个时间内完成,它会终止进程。