如何在node.js中执行使用线程的程序?

问题描述 投票:0回答:1
#!/usr/bin/node

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

const ls = spawn("./vanitygen", ["-p bc1qu"]);

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

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

ls.on('error', (error) => {
    console.log(`error: ${error.message}`);
});

ls.on("close", code => {
    console.log(`child process exited with code ${code}`);
});

当我使用

spawn
exec
运行它时,它会立即完成,并且我无法读取程序输出。

child process exited with code 1

还有其他方法来运行命令并获取其输出吗?

然后检测其所有线程何时关闭?

multithreading command exec spawn
1个回答
0
投票

如果你想在程序崩溃时看到程序输出,你需要让子进程从一开始就继承父进程的stdio,例如

const ls = spawn("./vanitygen", ["-p bc1qu"], {
    stdio: 'inherit',
  });
© www.soinside.com 2019 - 2024. All rights reserved.