我有一台设备,我正在我的电脑旁边操作,因为它运行它的吐出日志线,它的串口。我有这个连接到我的电脑,如果我使用minicom或类似的东西,我可以看到日志行正常:
ttylog -b 115200 -d /dev/ttyS0
我想将5秒的设备串行输出写入临时文件(或将其分配给变量),然后再将该文件grep用于关键字,让我知道设备的运行方式。我已经尝试在后台运行命令时将输出重定向到文件,然后睡5秒并终止进程,但日志行永远不会写入我的临时文件。例如:
touch tempFile
ttylog -b 115200 -d /dev/ttyS0 >> tempFile &
serialPID=$!
sleep 5
#kill ${serialPID} #does not work, gets wrong PID
killall ttylog
cat tempFile
文件已创建但从未填充任何数据。我也可以用:
替换ttylog行ttylog -b 115200 -d /dev/ttyS0 |tee -a tempFile &
在任何一种情况下,我都没有看到任何记录到stdout或日志文件的日志行,除非我错误地运行了多个版本的ttylog(参见注释掉的行,D'oh)。
我不知道这里发生了什么。这似乎是我的脚本中的重定向失败。
我是否在正确的轨道上?有没有更好的方法来采样5秒的串口?