ubuntu18设置开机自启动

news2025/2/9 6:56:10

        项目需求:机器人开机上电后工控机首先运行机械臂控制代码,再运行算法代码

1.终端执行以下代码

gnome-session-properties

2.设置开机自启动选项

        在弹出界面点击添加,名称随便填,命令填入要启动的脚本,注释随便填。

gnome-terminal -- /home/txz/start.sh

3.开机自启动脚本start.sh

        开机后首先ping机械臂的ip地址,每隔5s ping一次,能ping通后执行机械臂蜷缩操作命令,然后再打开一个终端窗口,启动算法代码。

#!/bin/bash 
echo "$(date "+%Y-%m-%d %H:%M:%S") ceshila" >> /home/txz/screen.log
while true;do
    if ping -c 1 10.7.5.18 &> /dev/null;then
	echo "$(date "+%Y-%m-%d %H:%M:%S") Ping successul. Starting Python script."
    echo "$(date "+%Y-%m-%d %H:%M:%S") Ping successful. Starting Python script." >> /home/txz/screen1.log
    python3 /home/txz/arm_server/quansuo_position.py
	sleep 3
	python3 /home/txz/arm_server/quansuo_position.py
	sleep 1
	gnome-terminal -- /home/txz/8.17/401_serch-tcp_4/1_main_frame/build/test_demo
	sleep 1
	python3 /home/txz/arm_server/server_nano.py
	break
    else
	echo "$(date "+%Y-%m-%d %H:%M:%S") Ping unsuccessful.Retrying in 5 seconds."
	echo "$(date "+%Y-%m-%d %H:%M:%S") Ping unsuccessful.Retrying in 5 seconds." >> /home/txz/screen2.log
	sleep 5
    fi
done


 4.关机前操作代码stop.sh

        找到开机启动的代码命令,然后kill掉,再让机械臂恢复零位

#!/bin/bash

# 查询命令的ID
command_name="python3"  # 替换为你要查询的命令名称
command_pid=$(pgrep "$command_name")

if [ -z "$command_pid" ]; then
    echo "未找到运行的命令: $command_name"
else
    echo "找到运行的命令: $command_name (PID: $command_pid)"
    # 杀死命令
    kill -9 "$command_pid"
    echo "已杀死命令: $command_name (PID: $command_pid)"
fi
python3 /home/txz/arm_server/zero_position.py
sleep 3 
python3 /home/txz/arm_server/zero_position.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1335878.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sigmoid softmax优化

1.前言 最近在搞模型部署发现,推理速度不能满足我们需求,于是最近学习了优化算子技巧,学到了sigmoid,softmax算子优化,真的数学之美。2.sigmoid算子优化 一.算子优化图 我们根据sigmoid公式,我们进行求反…

C语言字符串处理提取时间(ffmpeg返回的时间字符串)

【1】需求 需求:有一个 “00:01:33.90” 这样格式的时间字符串,需要将这个字符串的时间值提取打印出来(提取时、分、秒、毫秒)。 这个时间字符串从哪里来的? 是ffmpeg返回的时间,也就是视频的总时间。 下…

Java之Atomic 原子类总结

Java之Atomic 原子类总结 Atomic 原子类介绍 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一…

TypeScript学习(进阶篇)

一、元组 数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。 元组起源于函数编程语言(如 F#),这些语言中会频繁使用元组。 简单的例子 定义一对值分别为 string 和 number 的元组&#xf…

计算机视觉基础(13)——深度估计

前言 本节是计算机视觉的最后一节,我们将学习深度估计。从深度的概念和度量入手,依次学习单目深度估计和双目/多目深度估计,需要知道深度估计的经典方法,掌握深度估计的评价标准,注意结合对极几何进行分析和思考。 一、…

成为小leader后,最大的感受就是:领导真的更偏爱主动汇报的下属!

* 你好,我是前端队长,在职场,玩副业,文末有福利! 有些朋友在职场,可能会陷入一个误区,觉得我们的付出,领导都能看到。这就大错特错了,很简单,打个比方,你有10…

申请虚拟VISA卡Pokepay 教程来了

官网地址https://www.pokepay.cc/ ​​​​​ 填写邮箱地址 填写邀请码116780 会有20USD开卡优惠券 限时几天活动

网络安全法规和模型

基础 ISO信息安全:为数据处理系统建立和采取技术、管理的安全保护,保护计算机硬件、软件、数据不因偶然的或恶意的原因而受到破坏、更改、泄露 信息安全属性: CIA三元组:保密性、完整性、可用性 其他属性:真实性、不…

微短剧,会成为长视频的“救命稻草”吗?

职场社畜秒变霸道总裁,普通女孩穿越成为艳丽皇妃.......这样“狗血”的微短剧,最近不仅在国内各大视频平台上异常火爆,而且还直接火出了国外。 所谓微短剧,就是单集时长从几十秒到十几分钟的剧集,有着相对明确的主题和…

Android 手机对于Arduino蓝牙控制解决方案

1、Android系统概述 ​ Android 系统是 Google 公司基于 Linux 内核开发的移动端操作系统,适用于智能手机智能手表平板电脑等设备,最新的版本为 7.1。Android系统具有免费开源的优势,任何企业与个人都可以查阅公开的 API 文档,并在自己开发的应用中通过调…

【Gitlab】CICD流水线自动化部署教程

第一步,准备 GitLab 仓库 这个不用多说,得先保证你的项目已经托管在一个 GitLab 仓库中。 第二步,定义 .gitlab-ci.yml 文件 在你的项目根目录中创建一个 .gitlab-ci.yml 文件。这个文件将定义所有 CI/CD 的工作流程,包括构建、测…

IPC之十:使用共享文件进行进程间通信的实例

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,常用的 IPC 方式有管道、消息队列、共享内存等,但其实使用广大程序员都熟悉的文件也是可以完成 IPC 的,本文介绍如何使用共享文件实现进程间通信,本文给出了具体的实…

基于电商场景的高并发RocketMQ实战-Commitlog基于内存的高并发写入优化、基于JVM offheap的内存读写分离机制

🌈🌈🌈🌈🌈🌈🌈🌈 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁&#x1f3…

linux:下载、网络请求、端口

一:ping命令 可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 1、选项:-c,检查的次数,不使用-c选项,将无限次数持续检查 2、参数:ip或主机名,被检查的服务器的…

NET中使用SQLSugar操作sqlserver数据库

目录 一、SqlSugar是什么? 二、迁移和建表 1.建立实体 2.创建上下文类 3.在Program中添加SqlSugar服务 4.在控制器中注入上下文类 三、简单实现CURD功能 总结 一、SqlSugar是什么? SqlSugar是一款老牌 .NET 开源ORM框架。 主要特点&#xff1a…

天啦撸 超级麻烦的MySQL索引和数据引擎,快拿小本本记好

1 MySQL的索引 1.1 索引 定义: 索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址 ●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过…

边缘计算AI智能盒子的视频源必须是固定点监控摄像头吗?

边缘计算AI盒子的视频输入源,要求是RTSP或者GB28181,可以是固定点监控摄像头(枪机、球机等),也可以是移动摄像头,例如执法记录仪、智能安全帽、布控球等,但由于RTSP输入要求摄像头有固定IP&…

贪吃蛇小游戏的代码实现之知识点铺垫篇

今天给大家介绍一个很经典的小游戏,它和扫雷在经典小游戏这方面可以说是旗鼓相当,它的名字就是贪吃蛇。贪吃蛇游戏最初为单机模式,后续又陆续推出团战模式、赏金模式、挑战模式等多种玩法。该游戏具体玩法是:用游戏把子上下左右控…

redis复习笔记01(小滴课堂)

高并发的必备两大“核技术”队列和缓存 介绍本地缓存和分布式缓存 Nosql介绍和Reidis介绍 Linux服务器源码安装Redis6和相关依赖 在路径下上传压缩包。 上传压缩包。 版本更新了,但这是临时的。 版本更新了。 解压压缩包: 重命名: 我们可以看…

网页乱码问题(edge浏览器)

网页乱码问题(edge) 文章目录 网页乱码问题(edge)前言一、网页乱码问题1.是什么:(描述)2.解决方法:(针对edge浏览器)(1)下载charset插…