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

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

相关推荐
linux修理工5 分钟前
禁用 Windows 跳转列表和最近文档跟踪的注册表修改
运维
栈低来信11 分钟前
kernel信号量源码分析
linux
结衣结衣.43 分钟前
手把手教你实现文档搜索引擎
linux·c++·搜索引擎·开源·c++11
智能运维指南1 小时前
2026 年企业IT运维监控系统选型指南:全栈可观测平台对比与落地建议
运维
sdm0704271 小时前
进程间通信
linux·运维·服务器
蚰蜒螟1 小时前
Linux内核启动(init)与程序执行(execve)深度解析:从kernel_init到load_elf_binary
linux·运维·服务器
thethefighter1 小时前
信创综合档案管理系统单机版部署与使用
linux·银河麒麟·档案管理系统·单机版·nhdeep·信创版·综合档案管理系统
hhb_6182 小时前
Go高性能并发编程实战与底层原理剖析
运维·网络·golang
道清茗2 小时前
【RH294知识点汇总】第 6 章 《 管理复杂的 Play 和 Playbook 》常见问题
linux·服务器·网络
哼?~2 小时前
序列化与反序列化
linux·网络