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

推薦する

React Router V6 のアップデート

目次ReactRouterV6 の変更1. <Switch> が <Routes&...

MySQL で単一のデータベースまたはテーブルを復元する方法と、起こりうる落とし穴

序文:最も一般的に使用される MySQL 論理バックアップ ツールは mysqldump です。通常...

LinuxでTomcatのポート番号を変更する方法

ここには複数の Tomcat があります。それらを同時に使用する場合は、ポート番号を別の番号に変更す...

React における ref の一般的な使用法の概要

目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

docker-maven-pluginプラグインは対応するjarパッケージを取得できません

docker-maven-plugin プラグインを使用する場合、Maven は対応する jar パ...

CSSマウスを画像の上に置いたときにマスクレイヤー効果を追加する実装

まず効果を見てみましょう: マウスを画像の上に移動すると、影の効果とテキスト/アイコンが追加されます...

Struts2 ジャンプ後に CSS と JS が無効になる問題の解決策のアイデアと実装手順

struts2 アクションの実行後にジャンプした jsp が表示されると、css が機能しません。問...

Vueはシンプルなスライダー検証を実装する

この記事の例では、Vueスライダー検証の実装を共有しています。コードは次のとおりです。 <テン...

MySQL で高性能なインデックスを作成するための完全な手順

目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...

カスタムポップアップボックスを実装するためのJavaScriptシングルトンモード

この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具...

HTMLはマーキーを使用してテキストを左右にスクロールします

コードをコピーコードは次のとおりです。 <本文> //マーキーの助けを借りて<MA...

Vue要素はテーブルの追加、削除、データの変更を実装します

この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共...

DockerがElasticsearch7.xを起動してエラーを報告する問題を解決する

Docker実行コマンドの使用docker run -d -p 9200:9200 -p 9300:...

Vue+echart で 2 列チャートを実現

この記事では、vue+echart を使って二重列チャートを実現するための具体的なコードを参考までに...