049-第三代软件开发-软件部署脚本(一)_qml

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


文章目录

  • 第三代软件开发-软件部署脚本(一)
  • 项目介绍
  • 软件部署脚本(一)
  • 其他方式



关键字:

Qt

Qml

bash

shell

脚本

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

软件部署脚本(一)

软件编写完了,就要部署到生产力环境了,虽然我在我们的生产力环境中安装了完整版本的Qt,但是还有其他工作需要操作的,比如需要开机启动,这里其实有很多方式,加上我们的程序需要以管理员权限启动,所以我们写了一个脚本,完了把这个脚本添加到开机启动即可。

代码如下

#!/bin/sh


cd /home/XXX/Project

echo "123456" | sudo -S ./monitorRestart.sh

其他方式

以服务的方式启动

要在Linux上创建一个开机启动程序的服务,你可以使用Systemd服务管理器。下面是一个示例的Systemd服务单元文件,用于启动一个名为"my_service"的程序:

  1. 创建一个名为my_service.service的文件,将以下内容复制到该文件中:
[Unit]
Description=My Service
After=network.target

[Service]
ExecStart=/path/to/your/program
WorkingDirectory=/path/to/your/program/directory
Restart=always
User=your_username

[Install]
WantedBy=multi-user.target

请根据你的实际情况进行以下修改:

  • /path/to/your/program替换为你要启动的程序的完整路径。
  • /path/to/your/program/directory替换为你要启动的程序所在的目录的完整路径。
  • your_username替换为你的用户名。
  1. my_service.service文件移动到Systemd服务单元文件的目录,通常是/etc/systemd/system/。你需要使用root权限执行此操作。
sudo mv my_service.service /etc/systemd/system/
  1. 启用并启动服务:
sudo systemctl enable my_service
sudo systemctl start my_service

现在,你的程序将在系统启动时自动运行。你可以使用以下命令来检查服务的状态:

systemctl status my_service

如果一切正常,你应该看到服务正在运行。

请注意,上述示例假设你的程序不需要以root权限运行。如果你的程序需要root权限,请在my_service.service文件的[Service]部分添加User=root

此外,如果你的程序需要在网络连接可用之后才能正常工作,你可以根据需要修改After=network.target行。例如,如果你的程序需要等待数据库服务启动后才能运行,可以将After=network.target修改为After=network.target mysql.service

希望这可以帮助你创建一个Linux开机启动的服务。如有其他问题,请随时提问。


049-第三代软件开发-软件部署脚本(一)_bash_02