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}"

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

相关推荐
xdscode20 分钟前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw
Percep_gan43 分钟前
Linux中安装Redis,很详细
linux·运维·redis
七七powerful1 小时前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
枕书1 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
2401_877274241 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
feng_you_ying_li2 小时前
linux之用户的权限详解(4)
linux·运维·服务器
二进制person3 小时前
JavaEE初阶 --网络编程
linux·服务器·网络
Cyber4K3 小时前
【妙招系列】Harbor 镜像私有仓库搭建手册
linux·云原生·容器
Irissgwe4 小时前
进程间通信
linux·服务器·网络·c++·进程间通信
创世宇图4 小时前
阿里云Alibaba Cloud Linux 4 LTS 64位生产环境配置-Nginx
linux·nginx