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

CentOS 7 - Lösungsprozessdiagramm für vergessene Passwörter

brauchen Unabhängig davon, ob es sich um ein Wind...

Unterschied zwischen HTML ReadOnly und Enabled

Das Textfeld mit dem ReadOnly-Attribut wird auf de...

Detaillierte Erklärung der MySQL-Berechtigungssteuerung

Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

So deaktivieren Sie Webseitenstile mit dem Webentwickler von Firefox

Voraussetzung: Das Webentwickler-Plugin wurde inst...

Best Practices zur Implementierung einfacher Jira-Projekte mit React+TS

Eine Reihe von Projekten für die Ausbildung reagi...

Eine kurze Diskussion über 3 bemerkenswerte neue Features in TypeScript 3.7

Inhaltsverzeichnis Vorwort Optionale Verkettung N...

So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu

Installieren Sie Grafana. Die offizielle Website ...

Tatsächlicher Datensatz zur Wiederherstellung der MySQL-Datenbank nach Zeitpunkt

Einführung: MySQL-Datenbankwiederherstellung nach...

So verwenden Sie die Typerweiterung ohne Typingscript

Vorwort Aufgrund der schwachen Typisierung von JS...

Fünf Lösungen für Cross-Browser-Probleme (Zusammenfassung)

Kurz zusammengefasst: Browserkompatibilitätsprobl...

So fragen Sie Daten aus mehreren unabhängigen Tabellen und Paging in MySQL ab

Mysql mehrere unabhängige Tabellen Abfragedaten u...

Ausführliches Tutorial zur Installation und Konfiguration von MySQL 8.0.20

In diesem Artikel finden Sie eine ausführliche An...