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

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


关键字: QtQmlbashshell脚本

项目介绍

重要说明☝

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

软件部署脚本(一)

软件编写完了,就要部署到生产力环境了,虽然我在我们的生产力环境中安装了完整版本的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-第三代软件开发-软件部署脚本(一)-LMLPHP
11-10 12:26