最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

当使用child

IT培训 admin 4浏览 0评论

当使用child

我试着读subprocess.stdout但节点文件明确规定“如果孩子与标准输入输出催生[1]设置为‘管’以外的任何其他,那么这将是空的。”这是不是我想要的,因为我需要继承。

也试过在我的孩子过程中使用process.send(),但也不能工作。

这里是我的代码BTW:

const {spawn} = require('child_process');

const child = spawn('node index.js', {
    shell: process.env.ComSpec, 
    stdio: 'inherit'
});
回答如下:

当然可以,答案可以在Node.js的文件here被发现。

如果您在Windows上运行此,read this section,你会希望确保子处理的终端(在Windows上的cmd.exe)中运行。

您应该能够使用:

const child = spawn('node index.js', ['/c', 'my.bat']);

要么

exec('node index.js', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
});

基本上叫“重生(...)”将返回一个子进程,这是一个EvenEmitter。它有两个输出流,“标准错误”,“标准输出”,你会听的“数据”事件。

  • 你读从催生了(子)进程输出错误的“标准错误”流。
  • 你读从催生了(子)进程的“标准输出”流正常输出。

如何监听正常输出和错误:

child.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

child.stderr.on('data', (data) => {
  console.log(`stderr: ${data}`);
});

要知道,当子进程已经存在,监听“close”事件

child.on('close', (code) => {
  // Perform cleanup.
});

当使用child

我试着读subprocess.stdout但节点文件明确规定“如果孩子与标准输入输出催生[1]设置为‘管’以外的任何其他,那么这将是空的。”这是不是我想要的,因为我需要继承。

也试过在我的孩子过程中使用process.send(),但也不能工作。

这里是我的代码BTW:

const {spawn} = require('child_process');

const child = spawn('node index.js', {
    shell: process.env.ComSpec, 
    stdio: 'inherit'
});
回答如下:

当然可以,答案可以在Node.js的文件here被发现。

如果您在Windows上运行此,read this section,你会希望确保子处理的终端(在Windows上的cmd.exe)中运行。

您应该能够使用:

const child = spawn('node index.js', ['/c', 'my.bat']);

要么

exec('node index.js', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
});

基本上叫“重生(...)”将返回一个子进程,这是一个EvenEmitter。它有两个输出流,“标准错误”,“标准输出”,你会听的“数据”事件。

  • 你读从催生了(子)进程输出错误的“标准错误”流。
  • 你读从催生了(子)进程的“标准输出”流正常输出。

如何监听正常输出和错误:

child.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

child.stderr.on('data', (data) => {
  console.log(`stderr: ${data}`);
});

要知道,当子进程已经存在,监听“close”事件

child.on('close', (code) => {
  // Perform cleanup.
});

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论