050-第三代软件开发-软件部署脚本(二)

头图

第三代软件开发-软件部署脚本(二)

文章目录

  • 第三代软件开发-软件部署脚本(二)
    • 项目介绍
    • 软件部署脚本(二)

关键字: QtQmlbashshell脚本

项目介绍

欢迎来到我们的 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



博客签名2021

你可能感兴趣的:(#,qt,qml,bash,shell,脚本)