2016-04-16 4 views
2

私は組み込みLinuxプラットフォームで作業しています。Linuxの中断/再開操作のユーザースペース通知

"echo" mem ">/sys/power/state"を実行すると、システムは停止します。

私は、カーネルとドライバがサスペンド操作が来ていることを知ることができます。しかし、ユーザー空間のプロセスやアプリケーションがシステムが中断するという通知を受け取ることは可能でしょうか?どうやって?

たとえば、デバイスドライバによって開始アドレスが与えられたバッファに「A」を書き込むアプリケーションがあります。ドライバが再開したときにドライバが見ているものがすべて「B」になるように、このバッファにすべてのバッファを 'B'に置き換えることができるようにシステムが中断することをこのアプリケーションに通知することは可能でしょうか?

ありがとうございます。

答えて

0

同じことを探していました。しかし、残念ながら、私は中断/再開中にユーザースペース通知を見つけることができませんでした。アプリケーションは冷蔵/冷凍されており、中断されていることは決して分かりません。

ただし、変更可能なドライバのサスペンド/レジューム機能から一般的なnetlinkメッセージ送信またはueventを追加する方法もあります。それでも、アプリケーションはフリーズして競合状態に陥る前に、アプリケーションを処理するための十分な時間を得ることができません。サスペンドメッセージを受信し、処理する前にフリーズしたとします。一度再開すると、中断メッセージが処理されます。

IMOでは、シナリオをドライバで処理する方がよいでしょう。ユーザースペースだけを残す。

+0

ありがとうございました。私は早くxDにあなたに返答すべきだった。私はこれを長い間探し続けていましたが、何も見つかりませんでした。ついに、アプリケーションは停止し、停止については何も知らないという結論に達しました。 – uestclx

関連する問題