Eine einfache Möglichkeit, die QT-Anwendung in eingebettetem Linux neu zu starten (basierend auf QT4.8 qws)

Eine einfache Möglichkeit, die QT-Anwendung in eingebettetem Linux neu zu starten (basierend auf QT4.8 qws)

Anwendungssoftware hat im Allgemeinen folgende Geschäftsanforderungen:

Wenn eine neue Version der APP verfügbar ist, muss das Programm aktualisiert werden. Nachdem das Update abgeschlossen ist (das sogenannte Update erfolgt meist in Form eines Überschreibens), muss der Computer nicht heruntergefahren werden, sondern die Anwendung kann sich selbst neu starten.

Ich habe einige Informationen online überprüft, aber die Beschreibungen waren sehr kompliziert. Es wäre einfacher, schneller und brutaler, ein Skript zu erstellen, um meine Arbeit stapelweise zu erledigen.

Im Programm können Sie über die Thread-Bibliotheksfunktion von QT neu starten oder einfach ein externes Skript aufrufen, um den Neustart abzuschließen.

qApp->alleFensterschließen();
system("/opt/app/restart_app.sh");

Wie Sie hier sehen können, ist restart_app.sh ein externes Skript.

Das externe Skript enthält Folgendes:

#!/bin/sh
killall -9 meine_app
echo "starte meine_App neu!"
#Hintergrundbeleuchtung schließen
echo 0 > /sys/klasse/hintergrundbeleuchtung/hintergrundbeleuchtung/helligkeit
/opt/app/meine_app -qws -nomouse -font wqy-microhei &

Wenn das Skript ausgeführt wird, ruft es zuerst killall -9 my_app auf, um den aktuellen Prozess mit demselben Namen wie meine App zu schließen, dann schaltet es die Hintergrundbeleuchtung und das LCD aus. Starten Sie die App abschließend neu und führen Sie sie im Hintergrund aus.

Dadurch wird lediglich der Neustart der App abgeschlossen.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So konfigurieren Sie die Qt-Entwicklungsumgebung der Sprache Go unter Ubuntu Linux
  • Lösen Sie das Problem der Verwendung von linuxdeployqt zum Verpacken von Qt-Programmen in Ubuntu
  • So führen Sie Linux-Befehlsprogramme remote und stapelweise mit pyqt aus
  • So verwenden Sie Qt, um unter Ubuntu Linux eine Verbindung zu einer MySQL-Datenbank herzustellen
  • So installieren Sie Subversion 1.9.5 in einer Linux-Umgebung (CentOS 6.7 64-Bit)
  • Lösung für das Problem „Linux QT Kit fehlt“ und „Version leer“

<<:  Vue implementiert Countdown-Funktion

>>:  Das Vue-Projekt realisiert den Paging-Effekt

Artikel empfehlen

So installieren Sie den RabbitMQ-Server mit Yum auf CentOS

Socat muss vor der Installation von rabbitmq inst...

Detaillierte Erläuterung der MySQL-Filterreplikationsideen

Inhaltsverzeichnis MySQL gefilterte Replikation I...

HTML imitiert die Dropdown-Menüfunktion der Baidu-Enzyklopädienavigation

HTML imitiert die Dropdown-Menüfunktion der Baidu...

MySQL und MySQL Workbench Installations-Tutorial unter Ubuntu

Ubuntu-JDK installieren: [Link] Installieren Sie ...

Implementierung eines Nginx-Load-Balancing-Clusters

(1) Experimentelle Umgebung youxi1 192.168.5.101 ...

Vue elementUI implementiert Baumstrukturtabelle und Lazy Loading

Inhaltsverzeichnis 1. Ergebnisse erzielen 2. Back...

Praxis der Linux-Datei- und Benutzerverwaltung

1. Zeigen Sie die Dateien oder Verzeichnisse im V...

vue $set implementiert die Zuweisung von Werten zu Array-Sammlungsobjekten

Vue $set Array-Sammlungsobjektzuweisung In der be...

So erhalten und verwenden Sie die Zeit im Linux-System

Es gibt zwei Arten von Linux-Systemzeiten. (1) Ka...

Detaillierte Erklärung zu Unique Constraints und NULL in MySQL

Vorwort Eine Anforderung, die ich zuvor zur Verei...

Implementierung von zwei Basis-Images für die Docker-Bereitstellung von Go

1. golang:neuestes Basis-Image mkdir gotest Berüh...