当我运行此命令时,仅使设备扫描仅5秒钟:

$ sudo timeout 5s hcitool -i hci0 lescan

输出显示在终端屏幕上。

但是,当我将输出重定向到文件中以保存广告设备的地址时,每次我运行命令时,我发现文件为空,并且输出在终端或文件中均不可见。

我使用的命令:
$ sudo timeout 5s hcitool -i hci0 lescan > file.txt

为了使hcitool正确将其输出重定向到文件,我该怎么做?

最佳答案

默认情况下,timeout将SIGTERM发送到程序。看来hcitool无法正常处理。而是使用SIGINT(等效于ctrl-c)。
sudo timeout -s SIGINT 5s hcitool -i hci0 lescan > file.txt

09-06 01:12