使用child_process分配终端

时间:2014-04-18 14:55:13

标签: linux node.js ssh terminal

我使用child_process运行最终调用的脚本

ssh -t server "sudo command"

我回来了:

  

由于stdin不是终端,因此不会分配伪终端   sudo:对不起,你必须有一个tty来运行sudo

有没有办法制作这个过程' stdin终端?它是这样运行的;

var proc = child_process.spawn(pathToCommand, ["args"]);
proc.stdout.on("data", function (data) {                          
    socket.emit("running", "" + data);                                      
});                                                                         

proc.stderr.on("data", function (err) {                           
    socket.emit("error", "" + err);                                         
});                                                                         

proc.on("close", function (code) {                                
    socket.emit("finished", "" + code);                                     
});

我想避免通过-tt强制终端分配ssh。相反,我只想为这个过程分配一个终端。这可行吗?

1 个答案:

答案 0 :(得分:0)

ssh2模块允许在使用shell()或exec()时设置远程端使用的pty。