組み込み 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 プロジェクトがページング効果を実現

推薦する

Navicat の MySQL へのリモート接続が遅い理由の詳細な説明

最終的な解決策は最後の写真にありますリモート データベース ( Linux システム) に接続したと...

MySQL InnoDBストレージエンジンについて簡単に説明します

序文:ストレージ エンジンはデータベースの中核です。MySQL の場合、ストレージ エンジンはプラグ...

音声キューイングシステムを実装するためのJavaScript

目次導入主な特徴エフェクト表示キーコード導入音声キューイングシステムは、銀行、レストラン、病院などの...

HTML 選択オプション デフォルトの選択方法

オプションに属性 selected = "selected" を追加すると、それ...

ウェブデザイン経験

<br />著者はかつてWebデザインの初心者でしたが、継続的な探求と実践を通じて、今で...

MySQLトリガーの簡単な使用例

この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以...

Nginxは特定のページへのIPアクセスを制限します

1.すべてのIPアドレスが3つのページa1.htm、a2.htm、a3.htmにアクセスするのを禁止...

Docker の MySQL 時間とシステム時間の不一致の問題を解決する

最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...

Raspberry Pi 4 に Ubuntu 19.10 をインストールするための詳細なチュートリアル

以前、raspbian で実行したときに opencv の一部の依存関係をパッケージ化できず、一部の...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

Docker Composeオーケストレーションツールの詳細な説明

Docker の作成Docker Compose は、複数の Docker コンテナを定義して実行す...

CSSを使用してファイルアップロードパターンを描画する

以下に示すように、あなたならどのようにそれを達成しますか: 通常、フォントアイコンを使用して中央にプ...

フロントエンドJavaScript ES6の詳細について

目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

SELinux 入門

カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...