ROS2服务配置与启动

一、创建服务文件

1. 文件位置与命名:

在/etc/systemd/system目录下新建.service 文件

sudo vim /etc/systemd/system/my_service.service

2. ​文件内容模板​​:

.service文件基础服务配置模板

[Unit]
Description=ROS2 Service # 自定义服务描述
After=network.target # 依赖网络启动后执行

[Service]
Type=simple
User=root # 运行用户(可选)
WorkingDirectory=/path # 脚本所在目录
ExecStart=/path/myService.sh # 主启动命令
Restart=on-failure # 异常退出时自动重启
RestartSec=5 # 重启间隔(秒)
StandardOutput=journal # 日志配置
StandardError=journal # 日志配置

[Install]
WantedBy=multi-user.target # 启动级别配置

3. 如若修改.service文件,需要重载

sudo systemctl daemon-reload

二、脚本文件编写

1. ros2节点启动脚本文件示例:

#!/usr/bin/zsh
export PYTHONPATH=/root/anaconda3/envs/backend/lib/python3.8/site-packages:$PYTHONPATH
export ROS_DOMAIN_ID=10 # 设置 ROS_DOMAIN_ID,用于区分多个不同的ROS2网络
source /<工作空间>/install/setup.zsh
# 初始化 conda,确保可以使用 `conda activate`
source /root/anaconda3/etc/profile.d/conda.sh
conda activate backend
ros2 run <功能包> <可执行文件>

三、启动服务及其他操作

1. 启动服务

sudo systemctl start <服务名称>

2. 检查服务启动状态

sudo systemctl status <服务名称>

3. 重启服务

sudo systemctl restart <服务名称>

4. 暂停服务

sudo systemctl stop <服务名称>

5. 设置开机自启动

sudo systemctl enable <服务名称>

6. 重载服务配置

sudo systemctl reload <服务名称>

7. 查看失败日志

journalctl -u <服务名> --since "5分钟前"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值