如何在RDK X3上配置TROS/ROS2功能包的开机自启动?

本文详细指导了如何在RDKX3系统中使用systemd设置TROS/ROS2功能包的开机自启动,包括创建bash脚本、服务文件,以及管理服务的启动、停止、重启等操作。
摘要由CSDN通过智能技术生成

如何在RDK X3上配置TROS/ROS2功能包的开机自启动?

推荐以后台服务的方式设置开机启动程序,本文所有操作均在root账户下,指令细节可根据需要修改

创建需要运行的脚本和服务文件:

cd /etc/systemd/system/
touch tros_bot.bash    # 需要运行的bash脚本
touch tros_bot.service # 配置服务

tros_bot.bash文件内容如下,其他按照TROS手册的说明来

vim /etc/systemd/system/tros_bot.bash
#!/bin/bash
source /opt/tros/setup.bash
cp -r /opt/tros/lib/mono2d_body_detection/config/ .
export CAM_TYPE=mipi
ros2 launch mono2d_body_detection mono2d_body_detection.launch.py

确保为这个脚本赋予可执行权限

chmod 777 /etc/systemd/system/tros_bot.bash

编辑完保存退出,尝试运行这个脚本,所有的路径都使用绝对路径,并确保脚本可以正常启动:

/usr/bin/bash /etc/systemd/system/tros_bot.bash

tros_bot.service文件内容如下:

vim /etc/systemd/system/tros_bot.service

特别的:

ExecStart行修改为需要运行的指令,也就是运行我们这个bash脚本。

需要指定User=root,不然ROS会找不到用户,不能输出日志,从而无法运行。

[Unit]
Description=A server for tros_bot
After=network.target
 
[Service]
Type=simple
User=root
Restart=always
RestartSec=5
ExecStart=/usr/bin/bash /etc/systemd/system/tros_bot.bash &
StandardOutput=/tros_bot.log
StandardError=/tros_bot_error.log
 
[Install]
WantedBy=multi-user.target

修改tros_bot.service文件权限

chmod 777 /etc/systemd/system/tros_bot.service

开机自启动tros_bot.service服务

systemctl enable tros_bot.service

后续可根据需要关闭这个服务自启动

systemctl disable tros_bot.service

查看服务状态

systemctl status tros_bot.service

重启服务

systemctl restart tros_bot.service

开始服务(临时开启,重启不生效)

systemctl start tros_bot.service

停止服务

systemctl stop tros_bot.service

参考:

https://blog.csdn.net/zhinian_hao/article/details/129104387

https://zhuanlan.zhihu.com/p/567162157

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值