ubuntu开机自启动脚本分析

FOR THE SIGMA
FOR THE GTINDER
FOR THE ROBOMASTER

简介:

很久没更新了,感觉自己太弗拉不堪了,这次主要分享的是在视觉程序写好后,调试通信完成后的要做的事情——自启动脚本,本脚本可以放在桌面也可以放在home文件里面,部分带有解析。
主要实现:实时监测进程,若依旧运行着继续看守,若被杀死则立刻重新运行
操作系统版本
Ubuntu16.04LST
gedit

所需器件
一台你自己的ubuntu操作系统主机(这里我用的是minipc代替)

参考文献

内容:

#!/bin/bash### BEGIN INIT INFO
# Provides:          watchDog
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start watchDog
# Description:       start watchDog
### END INIT INFO

上面的是在测试时发现的问题,按照问题改后就可以运行了(也就是说直接合并上下两个就行了)

sec=1
cnt=0
PROC_NAME=main //进程名字,取决于你自己make后的名称,也可以在终端输入top来查找
Thread=`ps -ef | grep $PROC_NAME | grep -v "grep"` //判断用到,具体用法自行百度
cd /home/girt/GIRT_V/build/  //进入文件里面
make clean && make -j        //清除并重新make一下,防止文件损坏(-j提高效率)
echo "12345678" | sudo -S sudo chmod +777 /dev/ttyUSB0 //用自动输入密码并开启ttyusb权限
./main //运行while [ 1 ] //循环,记得大括号里面的1两边都要空格
do
count=`ps -ef | grep $PROC_NAME | grep -v "grep" | wc -l` //判定进程运行否,是则继续,否则重新启动
echo "Thread count: $count"
if [ $count -gt 1 ];then  //-gt 大于1情况下 进程没被杀害echo "The $PROC_NAME is still alive!"sleep $sec
else  //进程被杀害echo "Starting $PROC_NAME"cd ~echo "12345678" | sudo -S sudo chmod +777 /dev/ttyUSB0 //12345678是我minipc上的密码echo "12345678" | sudo -S sudo chmod +777 /dev/ttyUSB1cd /home/girt/GIRT_V/build/  //移动到你要编译运行的文件夹里面./main  echo "$PROC_NAME has started!"sleep $sec
fi
done

//以后的都是注释

编好后文件命名为watchdog.sh,然后win键,搜索启动找到启动运用程序,输入gnome-terminal -x sh /home/girt/watchdog.sh 即可

实验时,先rboot重启,开机要是打开了就行了,进程可以用top看,然后用pkill杀害进程(main)即可,若是杀死了还能重新启动说明没问题,要是死了就死了,说明代码有误,其他的可以在评论区聊聊

RoboMaster机甲大师——视觉组——ubuntu开机自启动脚本分析相关推荐

  1. RoboMaster机甲大师——视觉组——总结、未来期望与比赛经验分享

    RoboMaster机甲大师--视觉组--总结与未来期望 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 入坑指南 各兵种需要的视觉: 步兵-每年必备 ...

  2. RoboMaster机甲大师——视觉组——摄像头的选型与应用

    RoboMaster机甲大师--视觉组--摄像头的选型与应用 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 本篇文章主要介绍在进行图像处理时 ...

  3. RoboMaster机甲大师——视觉组——计算平台的选型与感想(主流几款)

    RoboMaster机甲大师--视觉组--计算平台(工控机)的选型与感想(主流几款) FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 本篇文章 ...

  4. RoboMaster机甲大师:裁判系统服务器搭建(完全版)

    RoboMaster机甲大师:裁判系统服务器搭建(完全版) 更新 2022.03.28 更新 2022.03.23 前言 准备 搭建步骤 MySQL安装 配置环境 组建局域网 路由器端(Router) ...

  5. Ubuntu开机自启动 读取.bashrc

    开机自启动脚本,启动ros节点. ros节点可以启动,但是source命令没起作用,导致matlab端读不到自定义消息. 查了一下,大概是开机自启的shell和开机后手动开启终端的shell,并不完全 ...

  6. RoboMaster机甲大师裁判系统赛事引擎助手-RM Referee Aid

    RoboMaster机甲大师裁判系统赛事引擎助手-RM Referee Aid 目录 ζ 写在前面 ζ 软件教程 ζ 软件下载 ζ 软件介绍 ζ 软件安装 ζ 功能介绍 ζ 1 裁判系统服务器的配置 ...

  7. Ubuntu开机自启动程序的方法

    文章目录 Ubuntu开机自启动程序的方法 目标效果 方案1:修改rc.local 测试结果 方案2:单独增加一个开机启动的脚本 错误1 错误2 实测结果 refs 方案3:利用官方快捷方式启动 Ub ...

  8. Ubuntu开机自启动(适用于ubuntu桌面、服务器、树莓派)

    Ubuntu开机自启动 前言 一.服务(Service)是什么? 二.编写服务 1.创建服务 2.撰写服务内容 3.设置服务自启动 二.编写脚本 三.编写程序 总结 前言 声明:本人使用树莓派4B+ ...

  9. RoboMaster 机甲大师 学生端服务器搭建

    RoboMaster 机甲大师 学生端服务器搭建 文章目录 RoboMaster 机甲大师 学生端服务器搭建 前言 一.搭建路由器环境 二.服务器相关配置 1.修改重要模块 2.Q&A 组建局 ...

最新文章

  1. Unity3d中角色模型和角色名字保持相对位置
  2. distcc源码研究三
  3. 又又叒更新,Win 12要来了?
  4. 漫谈 Gentoo 中文社区的建设
  5. anaconda环境中使用sudo python报错
  6. 谷歌推出针对AI歧视的新课程!60分钟的ML公平自学训练模块 | 资源
  7. 第1节 flume:15、flume案例二,通过自定义拦截器实现数据的脱敏
  8. c语言文本格式自动对齐,c语言文件读取原始数据是1、2列是按相同的一起排列命名为Yi- 爱问知识人...
  9. 第五章 多个消费者监听同一个队列
  10. java列举生活中类和对象_趣味解读Python面向对象编程 (类和对象)
  11. Html 使 tbody加上滚动条
  12. 使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分
  13. safari浏览器模拟ipone,ipad以及其他浏览器版本
  14. Android Studio链接夜神模拟器
  15. cocos2d-x3.x实现屏幕画线并添加刚体属性
  16. Centos 6.9 Install dubbokeeper
  17. 软件项目管理案例教程第4版课后习题第一章
  18. leetcode908
  19. springboot整合websocket实现消息推送
  20. 图像处理之平滑滤波、高斯滤波和中值滤波

热门文章

  1. Arch Linux KDE下 WPS 部分无法打开中文名的文件问题 - 无法找到“”。请检查文件名的拼写,并检查文件位置是否正确。
  2. 金仓数据库KingbaseES数据迁移
  3. 电子音乐及HOUSE的分类知识
  4. 手把手教你搭建OA服务器
  5. 青龙面板—-美团买菜
  6. python3.8 百度网盘下载
  7. 如何下载生物数据(四):SRA数据下载
  8. ClickHouse - 多卷存储扩大存储容量(生产环境必备)
  9. 数据管理基础-ch08-10
  10. 鸿蒙系统笔记本电脑上市,华为:智能手表及笔记本电脑将搭载鸿蒙系统 手机明年上市...