当前位置: 首页 > 面试题库 >

Node.js子进程:从已经初始化的进程写入标准输入

甄正信
2023-03-14
问题内容

我正在尝试phantomjs使用节点生成一个外部进程child_process,然后在初始化之后将信息发送给该进程,这可能吗?

我有以下代码:

var spawn = require('child_process').spawn,
    child = spawn('phantomjs');

child.stdin.setEncoding = 'utf-8';
child.stdout.pipe(process.stdout);

child.stdin.write("console.log('Hello from PhantomJS')");

但是,我在stdout上获得的唯一信息是phantomjs控制台的初始提示。

phantomjs>

因此,似乎child.stdin.write没有任何效果。

我不确定我是否可以在初始生成时向phantomjs发送其他信息。

提前致谢。


问题答案:

您还需要传递\n符号以使命令生效:

var spawn = require('child_process').spawn,
    child = spawn('phantomjs');

child.stdin.setEncoding('utf-8');
child.stdout.pipe(process.stdout);

child.stdin.write("console.log('Hello from PhantomJS')\n");

child.stdin.end(); /// this call seems necessary, at least with plain node.js executable


 类似资料:
  • 问题内容: 我想在Windows中使用rsync.exe,并在Python中打印标准输出。 我的代码可以运行,但是直到文件传输完成后才能捕获进度!我想实时打印每个文件的进度。 既然我听说使用Python 3.1,现在应该会更好地处理IO。 问题答案: 一些经验法则。 永远不要使用。它不必要地调用额外的shell进程来调用您的程序。 调用进程时,参数作为列表传递。sys.argv在python中是一

  • 问题内容: 我知道我可以像这样获得流程的使用子流程: 但是我只想知道要写入进程的pid,我该 怎么做? 问题答案: 只需写信给:

  • 问题内容: 在Linux 3.0 / C ++下: 我想要一个执行以下操作的函数: 显然上述方法不起作用,但是您可以理解。我有一个字符串s,我希望将其作为应用程序“ foo”的子进程执行的标准输入传递,然后将其标准输出记录到字符串r中,然后将其返回。 我应该使用linux syscall或posix函数的什么组合? 问题答案: eerpini提供的代码无法正常工作。请注意,例如,之后将使用在父级中

  • 问题内容: 我试图用Python编写程序,并被告知运行.exe文件。运行此.exe文件时,它会吐出大量数据,并且我需要在屏幕上打印出一定的行。我很确定我需要使用或类似的东西,但是我是子处理的新手,没有任何线索。有人有简单的方法让我完成此工作吗? 问题答案: 像这样:

  • 问题内容: 我对如何从ssh等终端子进程发送输入和接收输出有疑问。 我在Golang中找不到一个简单的示例,其工作原理与上述类似。 在Golang中,我想做这样的事情,但是似乎不起作用: 然而; 我不确定如何执行此操作,因为每次执行此ssh命令时,我只能获取输出。我无法通过代码自动输入密码。有没有人写过ssh等终端进程的示例?如果是这样,请分享。 问题答案: 由于上面的评论,我可以使用密码使用ss

  • 问题内容: 我正在尝试编写一个Python脚本来启动一个子进程,并将其写入子进程stdin。我还希望能够确定子进程崩溃时要采取的措施。 我试图启动的过程是一个名为的程序nuke,它具有自己的Python内置版本,我希望能够向其提交命令,然后告诉其在命令执行后退出。到目前为止,我已经得出结论,如果我在类似这样的命令提示符下启动Python,然后作为子进程启动,那么我可以在中键入命令,但是我希望能够将