【问题标题】:Allocate terminal with child_process使用 child_process 分配终端
【发布时间】:2014-06-03 02:41:07
【问题描述】:

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

【问题讨论】:

    标签: linux node.js ssh terminal


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 2014-04-15
      • 2016-04-22
      • 1970-01-01
      相关资源
      最近更新 更多