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 verwenden Sie die JSZip-Komprimierung in CocosCreator

CocosCreator-Version: 2.4.2 Praktische Projektanw...

JavaScript-Implementierung eines Karussellbeispiels

In diesem Artikel wird der spezifische Code für J...

JavaScript imitiert Xiaomi-Karusselleffekt

Dieser Artikel ist eine selbstgeschriebene Nachah...

17 hervorragende Webdesigns, sorgfältig von Startups entwickelt

Startups überraschen uns oft mit ihren unkonventi...

Vue implementiert einfache Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Einige gängige CSS-Layouts (Zusammenfassung)

Zusammenfassung In diesem Artikel werden die folg...

Der Unterschied zwischen GB2312, GBK und UTF-8 in der Webseitenkodierung

Zunächst müssen wir verstehen, dass GB2312, GBK u...

Einfache Kapselung von Axios und Beispielcode zur Verwendung

Vorwort Als ich kürzlich ein Projekt erstellte, d...

Analyse des Funktionsprinzips und des Implementierungsprozesses von Docker Hub

Ähnlich wie der von GitHub bereitgestellte Code-H...

Ein QQ-Chatroom basierend auf vue.js

Inhaltsverzeichnis Einführung Nachfolgend sehen S...

CSS erzielt den Effekt der Vermischung zweier Elemente (Sticky-Effekt)

Ich erinnere mich, dass es vor ein paar Jahren in...

Beispielverwendung des Linux-Komprimierungsdateibefehls „zip“

Das „.zip“-Format wird zum Komprimieren von Datei...

Ändern Sie die MySQL-Datenbank-Engine in InnoDB

PS: Ich verwende hier PHPStudy2016 1. Stoppen Sie...