組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

アプリケーション ソフトウェアには通常、次のようなビジネス要件があります。

新しいバージョンの APP が利用可能になると、プログラムを更新する必要があります。更新が完了したら (いわゆる更新は主に上書き形式です)、コンピューターをシャットダウンする必要はありませんが、アプリケーションは自動的に再起動できます。

オンラインでいくつかの情報を確認しましたが、説明が非常に複雑でした。作業をバッチで完了するスクリプトを作成する方が、より簡単で、より速く、より強力です。

プログラムでは、QT のスレッド ライブラリ関数を介して再起動することも、外部スクリプトを呼び出して再起動作業を完了することもできます。

qApp->closeAllWindows();
システム("/opt/app/restart_app.sh");

ご覧のとおり、 restart_app.shは外部スクリプトです。

外部スクリプトには次の内容が含まれます。

#!/bin/sh
キルオール -9 my_app
echo "my_appを再起動してください!"
#バックライトを閉じる
エコー 0 > /sys/class/backlight/バックライト/明るさ
/opt/app/my_app -qws -nomouse -font wqy-microhei &

スクリプトが実行されると、まずkillall -9 my_appを呼び出して、自分のアプリと同じ名前の現在のプロセスを閉じ、次にバックライトをオフにして LCD をオフにします。最後に、アプリを再起動してバックグラウンドで実行します。

これでアプリの再起動が完了します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Ubuntu Linux で Go 言語の Qt 開発環境を構成する方法
  • linuxdeployqt を使用して Ubuntu で Qt プログラムをパッケージ化する問題を解決する
  • pyqt を使用して Linux コマンド プログラムをリモートでバッチ実行する方法
  • Ubuntu Linux で Qt を使用して MySQL データベースに接続する方法
  • Linux 環境 (CentOS 6.7 64 ビット) に Subversion 1.9.5 をインストールする方法
  • Linux QT Kit が見つからない、バージョンが空の問題の解決策

<<:  Vueはカウントダウン機能を実装する

>>:  Vue プロジェクトがページング効果を実現

推薦する

vue3 プロジェクトを素早く構築し、関連機能を紹介する vite+ts の詳細な説明

目次ヴィテ建てる構成vite.config.tsルーターtsタイプvue3 の知識設定小道具コンテク...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

SQLシリアル番号取得コード例

この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...

Mysqlはストアドプロシージャを通じて文字列を配列に分割します

文字列を配列に分割するには、次の 3 つの MySQL 関数を使用する必要があります。 REVERS...

MySQL シリーズ II マルチインスタンス構成

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

CSS3で線形グラデーションを実装するためのコードの詳細な説明

序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...

MySQL 8.0.15 winx64 解凍版のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15 winx64解凍版のインストールと設定方法を紹介します。具体...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

JavaScript配列の一般的なメソッドの概要

目次1. JavaScriptで配列を作成する方法2. 配列メソッドの概要3. 方法の詳細な説明1....

MySQL 最適化 query_cache_limit パラメータの説明

クエリキャッシュ制限query_cache_limit は、単一のクエリで使用できるバッファ サイズ...

vue3 における vuex と pinia の落とし穴

目次導入インストールと使用方法文章の相違点と類似点の簡単な比較VuexとPiniaの長所と短所Pin...

iviewは動的なフォームとカスタム検証期間の重複を実装します

フォーム項目を動的に追加するiview の動的なフォーム追加は非常に簡単です。フォーム項目を配列に設...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

shtml includeの使い方

これを応用することで、ウェブサイトの一部の公開領域を独立したページにすることができ、その後、この技術...

DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...