gpt4 book ai didi

bluetooth - 配置并运行蓝牙后运行脚本 - Raspberry Pi 3

转载 作者:行者123 更新时间:2023-12-03 02:54:58 34 4
gpt4 key购买 nike

我正在尝试在启动时自动调用使用蓝牙的程序。但是,该程序是在蓝牙配置和运行之前调用的。

我尝试用两种方式调用该程序:

  1. 使用 init.d 中的脚本并通过 init 中的以下行向 update-rc.d 注册:# required-Start: $all
  2. 从/etc/rc.local 调用

这些都没有达到预期效果。它们都启动程序,但在蓝牙配置和运行之前。

强制脚本或程序在蓝牙后运行的最佳方法是什么?

下面是启动序列中的一些选择行,以便您可以看到我遇到的问题:

[ OK ] Started Login Service.
[ OK ] Started Getty on tty1.
**Where my program is currently executing**
[ OK ] Started Configure Bluetooth Modems connected by UART.
[ OK ] Reached Target Bluetooth
**Where I want my program to be executing**

Raspbian GNU/Linux 8 tty1
login:

最佳答案

Debian 8“Jessie”的新初始化系统是 systemd。 Debian 7“Wheezy”中的旧方法是带有运行级别和 /etc/inittab 的 Sysv。使用 crontab 运行程序的一个缺点是,如果脚本执行崩溃,它就会永远终止。如果脚本结束则自动重新启动脚本称为“重生”。

如您所见,蓝牙服务正在运行并打印出已达到“目标”。要创建您自己的服务,该服务在蓝牙启动后运行,并通过 systemd 重新生成,只需在 /etc/systemd/system/ 中创建一个文件,即 my_program.service

[Unit]
Desription=my_program with systemd, respawn, after bluetooth
After=bluetooth.target

[Service]
ExecStart=node /home/pi/workspace/my_program
Restart=always

[Install]
WantedBy=multi-user.target

并激活它

systemctl enable my_program.service

重新启动或手动启动

systemctl daemon-reload
systemctl start my_program.service

如果终止进程或重新启动,my_program 将在几秒钟后自动重新启动。

关于bluetooth - 配置并运行蓝牙后运行脚本 - Raspberry Pi 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869423/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com