2011-11-10 10 views
0

Xサーバを実行しているWindowsマシンにUIウィンドウを表示するLinuxマシン上で動作するQtアプリケーションがあります。アプリケーションを終了することなく、自分のアプリケーションのユーザーがWindowsからログアウトしたり、Xサーバーを強制終了したりする可能性が高くなります。QアプリケーションとXサーバのシャットダウン

Xサーバーの予期しないシャットダウンを処理して、アプリケーションが正常にシャットダウンしたり、保存されたデータを保存できるようにする方法はありますか?これまで私は、QApplicationのaboutToQuitシグナルをアプリケーションのスロットにつなぎ、メインのすべての例外をキャッチしようとしました。どちらも期待どおりには機能しませんでした。

答えて

0

私は確信していませんが、おそらくこのQCoreApplication::aboutToQuit()信号があなたを助けることができます。

+0

元の記事で私はすでにそれを試していたと言いました。私が知る限り、信号は決して発火しません。 – timwoj

1

私はあなたの最善の策は、アプリケーションがOSによって殺されている方法に応じsignal handling

を経由してそれを処理しようとすることで、正常終了することや、全く可能であってもなくてもよいと思います。

+0

私は死んでいるXサーバーがどんな種類の信号を投げるのか分かりません。 QApplicationループが何らかの形で死んでいる(またはアプリケーションが実行し続ける)ので、それは奇妙なことです。何も通知していないようです。 – timwoj

+0

この動作は、アプリケーションがSIGTERMのように送信されていることと一貫性があり、プログラムの実行を中断させ、何もする機会を与えないでしょう。私はシグナルハンドラを投げて、あなたがアプリであればそれが応答できる何かを得ているかどうかを見ます。 – Chris

関連する問題