050-第三代软件开发-软件部署脚本(二)
  y1CBs17Aqlft 2023年12月07日 18 0


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

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


文章目录

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



关键字:

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

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
y1CBs17Aqlft