问题描述
我正在尝试编写一个简单的节点程序,该程序在单独的窗口(可以查看)中生成子进程,然后在程序完成时打印 stderr 消息。目前正在 Windows 上进行测试。
661.035756,14
我同时使用了 'shell' 和 'detached' 参数,因为这是我能找到的打开和查看新终端窗口的唯一方法。
然后,在 child.js 中:
const { spawnSync } = require('child_process')
const child = spawnSync('node child.js',[],{ shell: true,detached: true })
console.log(child)
这是一个非常简单的测试程序,在 4 秒后写入 stderr,然后以错误代码退出。
然而,运行后,我收到了这个输出:
let count = 0
setInterval(() => {
console.log('test',count)
count++
if (count == 4) {
process.stderr.write('an error occurred!')
process.exit(1)
}
},1000)
因此,虽然错误代码正确注册,但 stderr 是一个空缓冲区。我究竟做错了什么?我还能做些什么来实现我正在寻找的东西? (在单独的窗口中运行节点子进程并从父进程获取错误)。
非常感谢任何帮助。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)