Ubuntu配置开机自启动

一、 创建启动脚本

创建启动脚本start_control_ros.sh

复制代码
#!/bin/bash

# Wait for the network to be up (if needed)
sleep 30

# Source your ROS setup.bash (adjust the path if necessary)
source /opt/ros/noetic/setup.bash
source /home/boat/duyiming_ws/devel/setup.bash
export ROS_MASTER_URI=http://192.168.0.100:11311
export ROS_HOSTNAME=192.168.0.100
export ROS_IP=192.168.0.100
export ROS_LOG_MAX_DISK_BUFFER_SIZE=1024

# Launch your roslaunch file
roslaunch test boat_modbus_TCP_speed_start.launch
View Code
复制代码


二、创建 systemd 服务单元文件

2.1 编辑服务单元文件

创建一个 systemd 服务单元文件来管理你的启动脚本

sudo vi /etc/systemd/system/boat_start_ros.service

内容如下:

复制代码
[Unit]
Description=ROS Node Example
After=network.target
Wants=network-online.target


[Service]
Type=simple
ExecStart=/home/boat/duyiming_ws/src/test/scrips/boat_start/start_control.sh
Restart=always
User=boat
RestartSec=5  # 在重启尝试之间添加 5 秒延迟

[Install]
WantedBy=multi-user.target
View Code
复制代码

  • Description: 描述你的服务的信息。
  • After: 指定依赖的服务,这里是网络服务 (network.target),确保在网络准备好后再启动。
  • ExecStart: 指定要执行的启动脚本的路径。
  • Restart: 定义服务在失败时如何重启。always 表示始终重启,可以根据需要调整。
  • User: 如果你需要以特定用户的身份运行服务,可以指定这个用户。替换 your_username 为你的实际用户名。

  • 2.2 设置文件权限并启用服务

    设置文件权限:

    sudo chmod +x /home/boat/duyiming_ws/src/test/scripys/boat_start/start_control.sh
    sudo chmod 644 /etc/systemd/system/boat_start_ros.service
    sudo systemctl daemon-reload  # 重新加载 systemd 配置
    sudo systemctl enable boat_start_ros.service

    三、启动和管理服务

    启动服务:

    sudo systemctl start boat_start_ros.service

    停止服务:

    sudo systemctl stop boat_start_ros.service

    重启服务:

    sudo systemctl restart boat_start_ros.service

    查看服务状态和日志:

    sudo systemctl status boat_start_ros.service

    四、查看日志

    如果服务启动失败或遇到问题,你可以使用 journalctl 来查看系统日志:

    journalctl -xe
    posted @   Yimiu  阅读(186)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
    · 地球OL攻略 —— 某应届生求职总结
    · 周边上新:园子的第一款马克杯温暖上架
    · Open-Sora 2.0 重磅开源!
    · 提示词工程——AI应用必不可少的技术

    喜欢请打赏

    扫描二维码打赏

    支付宝打赏

    点击右上角即可分享
    微信分享提示