我使用NodeJS通过命令行运行webots,并将stdout重定向到节点终端。我的问题是,我想触发一个基于控制台日志的事件。我尝试将命令的标准输出重定向到另一个文件,但这似乎不起作用。
这是控制台输出
INFO: sumo_example_two: Starting controller: python.exe -u sumo_example_two.py
INFO: sumo_supervisor: Starting controller: python.exe -u sumo_supervisor.py
robot2
INFO: sumo_example_one: Terminating.
INFO: sumo_example_two: Terminating.
INFO: sumo_supervisor: Terminating.
stdout:
我想提取'robot2'.
我刚刚测试过,下面的代码片段对我来说很好:
const { spawn } = require('child_process');
const ls = spawn('webots', ['--stdout']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
// Process `data` as you prefer, something like
//
// if (data.includes('robot2')) {
// something()
// }
});