【发布时间】:2019-05-27 10:59:13
【问题描述】:
我正在编写一个应用程序来处理我的服务器并能够将所有输出记录到文件中。我只是在我首先看到所有输出的阶段,但看起来我没有从我的第一个子进程创建的子进程中获得输出。这是我的代码:
运行.js
const {spawn} = require('child_process')
const server = spawn('bash', ['srcds_run'])
console.log('spawned ' + server.pid)
server.stdout.on('data', data => {
process.stdout.write(data)
})
server.stderr.on('data', data => {
process.stdout.write(data)
})
server.stdin.on('data', data => {
process.stdout.write(data)
})
在控制台中,它会打印所有内容,直到 srcds_run 脚本将其传递给主服务器进程 srcds_linux。一旦它传递下去,就不再有任何输出,但进程已启动,服务器已启动。
以下是流程树外观的示例。
https://i.linkjay.io/JBipdX.png
以及它如何在节点中运行
https://i.linkjay.io/YzmhIL.png
它将打印来自srcds_run 的任何内容,但不会打印srcds_linux。
Logaddress 在这里也不是一个选项。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: javascript node.js