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

推薦する

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

Bツリーの特性の紹介

B ツリーは一般的なデータ構造です。彼と一緒にB+ツリーがあります。ここで、概念を明確にする必要があ...

Linux または Windows 環境での pytorch のインストールと検証 (runtimeerror 問題の解決)

1. pytorch公式サイトから対応するインストールファイルをダウンロードします。 https:...

MySQL の行レベルロックの詳細な例

序文ロックは、複数のスレッドを実行するときにリソースへのアクセスを強制的に制限するために使用される同...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

Vueスロットの使用の詳細

目次1. スロットを使用する理由1.1 スロット1.2 コンポーネントのスロット1.3 例2. この...

MySQL の隠し列の詳細表示

目次1. 主キーが存在する2. 主キーはないが、一意のインデックスが存在する3. 共同主キーまたは共...

フレックスマルチカラムレイアウトで発生する問題と解決策の詳細な説明

フレックス レイアウトは間違いなくシンプルで使いやすいです。レイアウトをよりシンプルかつ高速にします...

アイデアをDockerに接続してワンクリックでデプロイする方法

1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...

Firefox または IE でスパン幅が決定されない場合の解決策

コードをコピーコードは次のとおりです。 <html xmlns="http://ww...

Vue cli開発に基づく外部コンポーネントVantのデフォルトスタイルの変更の詳細な説明

目次序文1. 少ない2. コンポーネントをインポートする3. 設定ファイルを変更するステップ1: l...

ハイパーリンクの幅と高さを直接設定できない問題の解決策

幅と高さを直接使用することはできません。 display:block; または display:in...

CentOS MySQLデータベースのスケジュールバックアップを実装する方法

次のスクリプトは、MySQLデータベース全体のスケジュールされたバックアップに使用されます。 mys...

Linux の総合システム監視ツール dstat の詳細な例

オールラウンドなシステム監視ツール dstat dstat は、vmstat、iostat、nets...

Dockerリポジトリの一般的なコマンドの詳細な説明

ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...