第三代软件开发-软件部署脚本(二)
文章目录
- 第三代软件开发-软件部署脚本(二)
- 项目介绍
- 软件部署脚本(二)
关键字:
Qt
、
Qml
、
bash
、
shell
、
脚本
项目介绍
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。
在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。
在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。
无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!
重要说明☝
☀该专栏在第三代软开发更新完将涨价
软件部署脚本(二)
在我们的程序可以开机自启动后,已经完成了以个正常的程序的部署过程,但是呢,我们的程序目前还存在一定的崩溃的隐患,同时老板也需要给客户演示,如果在客户现场奔溃了,你让老板现场插上键鼠打开命令框启动程序,那是不咋显示的,虽然我们也干过这样的事情,所以就有了这个第二版的启动脚本,增加了崩溃重启的代码,
代码如下
#!/bin/sh
# V2.0
# 此版本功能
# 程序崩溃会重复启动程序,直至正常关闭系统停止
# sh文件所在路径
base_path=$(cd `dirname $0`; pwd)
file_path=$base_path/T_UserProfile/systemConfig.ini
section="SystemConfig"
key="close_program"
delimeter='='
val=false
awk -F "$delimeter" '/\['${section}'\]/{a=1} (a==1 && "'${key}'"==$1){gsub($2,"'${val}'");a=0} {print $0}' ${file_path} 1<>${file_path}
while true
do
if [ -f "$file_path" ]
then
val=$(awk -F "$delimeter" '/\['${section}'\]/{a=1}a==1&&$1~/'${key}'/{print $2;exit}' $file_path)
echo ${val}
else
val=false
fi
if [ "$val" = true ]
then
echo "guanbi"
break
fi
ps -ef | grep "Turing_PhotoElectric3*" | grep -v "grep"
if [ "$?" -eq 1 ]
then
./Turing_PhotoElectric3* --no-sandbox
fi
done
exit 0