在Node.js中,可以使用child_process
模块来执行不同机器上的可执行文件(.exe)。child_process
模块提供了exec
和spawn
两种方法来执行外部命令。
exec
方法:const { exec } = require('child_process');exec('ssh user@remote-machine "path/to/exe"', (error, stdout, stderr) => {
if (error) {
console.error(`执行命令时出错:${error}`);
return;
}
console.log(`命令输出:${stdout}`);
});
上述代码中,ssh user@remote-machine "path/to/exe"
是通过SSH连接到远程机器,并执行指定路径下的可执行文件。你需要将user
替换为远程机器的用户名,remote-machine
替换为远程机器的IP地址或主机名,path/to/exe
替换为可执行文件的路径。
spawn
方法:const { spawn } = require('child_process');const child = spawn('ssh', 'user@remote-machine', 'path/to/exe');
child.stdout.on('data', (data) => {
console.log(`命令输出:${data}`);
});
child.stderr.on('data', (data) => {
console.error(`命令错误输出:${data}`);
});
child.on('close', (code) => {
console.log(`子进程退出码:${code}`);
});
上述代码中,spawn
方法接受一个命令和参数的数组作为参数,创建一个子进程来执行命令。通过监听子进程的stdout
和stderr
事件,可以获取命令的输出和错误输出。close
事件表示子进程执行完毕。
这种方式可以在Node.js中执行不同机器上的可执行文件,通过SSH连接到远程机器并执行命令。请确保你的机器和远程机器之间已经建立了SSH连接,并且远程机器上已经安装了相应的可执行文件。
注意:以上代码仅为示例,实际使用时需要根据具体情况进行调整和安全考虑。
相关链接:
child_process
模块文档:https://nodejs.org/api/child_process.html领取专属 10元无门槛券
手把手带您无忧上云