CTRL+C 后 Linux BLE 扫描

CTRL+C 后 Linux BLE 扫描

我有一个 C 程序,第一次运行时运行良好(BLUEZ C API),但如果我按Ctrl+C停止它,然后如果我再次运行它,它永远找不到任何 BLE 设备(扫描功能)。如果我重新启动 linux,它会再次工作。我的程序在 while(1) 循环扫描和打印设备信息(包括制造商数据)并调用:

stop_hci_scan(current_hci_state);
error_check_and_exit(current_hci_state);
close_hci_device(current_hci_state);

是外循环。

该程序必须幸存到这个事件(Ctrl+ C),因为我计划将它放入一个Linux服务中,以便在它挂起或发生其他情况时能够自动重新启动它。

所以,看来我需要在第二次启动程序之前进行一些清理(以避免重新启动),对吗?

但什么?

答案1

您可以使用(在命令行):

sudo hciconfig hci0 reset

我不知道C的等价物...

相关内容