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

Was sind die Kernmodule von node.js

Inhaltsverzeichnis Globales Objekt Globale Objekt...

Detaillierte Erläuterung der Nginx-Weiterleitungssocket-Portkonfiguration

Gängige Szenarien für die Weiterleitung von Socke...

Remotedesktopverbindung zwischen Windows und Linux

Wenn es um eine Remotedesktopverbindung zu Linux ...

Installationstutorial auf Unternehmensebene unter Verwendung des LAMP-Quellcodes

Inhaltsverzeichnis LAMP-Architektur 1.Lampeneinfü...

Warum sollten MySQL-Felder NOT NULL verwenden?

Ich habe vor Kurzem in einer neuen Firma angefang...

Einführung in die Verschlüsselung des Grub-Boot-Programms in Linux

Inhaltsverzeichnis 1. Was ist Grub-Verschlüsselun...

Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz

Vorwort Ein Zeichensatz ist eine Reihe von Symbol...

Grafisches Tutorial zur Installation von MySQL 5.5 unter Win7

Die MySQL-Installation ist relativ einfach. Norma...

Werfen wir einen Blick auf die Vorkompilierung von JavaScript (Zusammenfassung)

JS-Lauftrilogie js-Ausführungscode ist in drei Sc...

Was sind die Verwendungszwecke von Limits in MySQL (empfohlen)

SELECT * FROM Tabellenname Limit m,n; SELECT * FR...

Was bedeutet Eingabetyp und wie kann die Eingabe begrenzt werden?

Gängige Methoden zur Begrenzung der Eingabe 1. Um ...