当我运行此命令时,ble设备仅扫描5秒钟:
$sudo timeout 5s hcitool -i hci0 lescan
输出显示在终端屏幕中.
但是当我将输出重定向到文件以保存广告设备的地址时,每次运行该命令时,我发现文件为空,输出在终端或文件中都不可见.
我用的命令:
$sudo timeout 5s hcitool -i hci0 lescan > file.txt
为了使hcitool正确地将其输出重定向到文件,我该怎么办?
解决方法:
默认情况下,超时会将SIGTERM发送给程序.看起来hcitool没有优雅地处理它.而是使用SIGINT(相当于ctrl-c).
sudo timeout -s SIGINT 5s hcitool -i hci0 lescan> file.txt的