与孩子分配终端

我使用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。 相反,我只想为流程分配一个终端。 这是可行的吗?


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

链接地址: http://www.djcxy.com/p/97133.html

上一篇: Allocate terminal with child

下一篇: Shell script to compare remote directories