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

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

相关推荐
荒--7 分钟前
Burp Suite(二)
linux·运维·服务器
YangYang9YangYan20 分钟前
2026自动化背景无项目经验转数据分析的可行性分析
运维·数据分析·自动化
internet Boy1 小时前
服务器机房硬件入门教程
运维·服务器
小白还菜1 小时前
linux(Debian)使用mdadm组磁盘RAID1阵列
linux·运维
三8441 小时前
BGP/BGP路由反射器/联邦/BGP属性/BGP选路
运维·服务器·网络
Lumistory1 小时前
超高层地标泛光照明落地:从方案到运维的避坑思路
运维·光照贴图
不怕犯错,就怕不做2 小时前
GIT的简单打patch应用format-patch and git am
linux·git·全文检索
Byron Loong2 小时前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
web守墓人2 小时前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang
就牙白2 小时前
中科方德服务器打包RPM
linux·python