ubuntu18设置开机自启动

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

1.终端执行以下代码

bash 复制代码
gnome-session-properties

2.设置开机自启动选项

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

bash 复制代码
gnome-terminal -- /home/txz/start.sh

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

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

bash 复制代码
#!/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掉,再让机械臂恢复零位

bash 复制代码
#!/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
相关推荐
深圳市九鼎创展科技20 小时前
MT8883 vs RK3588 开发板全面对比:选型与场景落地指南
大数据·linux·人工智能·嵌入式硬件·ubuntu
NineData20 小时前
NineData 亮相香港国际创科展 InnoEX 2026,以 AI 加速布局全球市场
运维·数据库·人工智能·ninedata·新闻资讯·玖章算术
闫利朋20 小时前
Ubuntu22.04桌面版安装Cubic2024版本并定制ISO完整教程
ubuntu·自动化的安装系统
RisunJan21 小时前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
.千余21 小时前
【Linux】基本指令3
linux·服务器·开发语言·学习
南境十里·墨染春水21 小时前
C++ 笔记 thread
java·开发语言·c++·笔记·学习
南境十里·墨染春水21 小时前
C++ 笔记 高级线程同步原语与线程池实现
java·开发语言·c++·笔记·学习
热爱Liunx的丘丘人21 小时前
Ansible-doc及常用模块
linux·运维·服务器·ansible
lkforce21 小时前
MiniMind学习笔记(二)--model_minimind.py
笔记·python·学习·minimind·minimindconfig
SPC的存折1 天前
D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
linux·数据库·mysql·缓存