QT编译程序在Ubuntu下不进桌面直接启动和避免重复启动的方法

1、不进系统直接启动的方法

修改/etc/profile

在文件的最后添加启动文件的路径,如

/home/update/startMyQtApp.sh

2、避免重复执行程序的方法

创建文件锁,避免重复启动

在 /etc/profile 文件最后面那行启动指令前添加

防止重复加载的核心机制,因为/tmp/.etc_profile的存在,这里直接跳出去了

_ETC_PROFILE_LOCK="${TMPDIR:-/tmp}/.etc_profile"

if -f "${_ETC_PROFILE_LOCK}" ; then

如果锁文件存在,说明正在执行中

return 0

fi

创建锁文件

touch "${_ETC_PROFILE_LOCK}"

设置标记变量

if -n "${_ETC_PROFILE_DONE:-}" ; then

rm -f "${_ETC_PROFILE_LOCK}"

return 0

fi

export _ETC_PROFILE_DONE=1

原有的执行指令...

/home/update/startMyQtApp.sh

清理锁文件

#rm -f "${_ETC_PROFILE_LOCK}"

这个方法可能不是最好的,但是目前能找到比较好用的,接下来找到更好的话在这里继续更新

相关推荐
路由侠内网穿透1 分钟前
本地部署企业级快速开发平台芋道管理后台并实现外部访问
运维·服务器·网络·网络协议
basketball6169 分钟前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
好评1241 小时前
【Linux】进程信号
linux·运维·服务器
zhangrelay1 小时前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
wuminyu1 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
cakeism8251 小时前
Gitee DevOps 平台定位、核心能力与选型指南
运维·gitee·devops
xianyuCcCcCCCcc1 小时前
Nginx 深度解析:从基础架构到反向代理与负载均衡实战全解
linux·运维·nginx·bash·负载均衡
qq_25294131682 小时前
列车车轮缺陷智能检测数据集:800张图像、4大类别,助力铁路安全运维
运维·人工智能·安全·yolo·目标检测·计算机视觉·视觉检测
爱折腾的小码农2 小时前
解决Navicat 17 Premium Lite在Linux上运行报错“LIBSYSTEMD_251‘ not found”问题
linux·运维
Doraemomo2 小时前
Linux编程-标准IO和系统IO
linux·运维·服务器