【问题标题】:Sending input to a program that accepts input via stdin将输入发送到通过标准输入接受输入的程序
【发布时间】:2018-12-04 09:04:28
【问题描述】:

我有一个在收到来自stdin 的输入后触发的 shell 脚本。它的工作原理如下:

> ./ft/ft_0 model_32 -
>
> start_task_u

正如您在上面看到的,可执行文件ft_0 model_32 接受来自stdin 的输入,用- 表示(输入的输入是start_task_u)。用户在stdin 中输入输入,程序就会被触发。我如何在 NodeJS 中使用 spawn 做到这一点?

我可以使用 spawn 来启动这个过程,如下所示:

spawn('./ft/ft_0',['model_32','-'])

但是在程序启动后如何使用标准输入发送输入?我需要在程序启动后发送start_task_u 并接收shell 脚本在控制台上打印的所有输出。

【问题讨论】:

    标签: node.js child-process spawn


    【解决方案1】:

    传递配置选项以从父进程继承标准输入和标准输出。请在下面找到

    spawn('./ft/ft_0',['model_32','-'], {
      stdio: [
        0, 
        1, 
      ]
    })
    

    文档链接 - https://nodejs.org/dist/latest-v10.x/docs/api/child_process.html#child_process_child_process_spawn_command_args_options

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 2021-03-05
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      相关资源
      最近更新 更多