2012-12-20 22 views
1

我正在爲嵌入式硬件編寫一套Linux幀緩衝區應用程序。主應用程序在/ etc/inittab的tty1上運行(目前它只是一個觸摸屏測試),並且應該永久運行。第二個應用程序是在按下電源按鈕時從acpid執行的,並且應該詢問用戶他是否真的想關閉設備,並從觸摸屏讀取用戶答案。我想要的是,第二個應用程序在運行時會接管framebuffer,然後釋放它並恢復屏幕狀態,以便主應用程序可以繼續而不重新啓動。兩個應用程序使用幀緩衝區

這種情況可能有2個不同的應用程序,他們應該如何互動?現在第二個應用程序在主應用程序運行時不能繪製任何東西。

我知道我可以殺死並重新啓動主應用程序,或者將主動應用程序的poweroff通知移到主應用程序,並且只是發送一個信號給它,但這些解決方案似乎並不是最優的。

回答

0

當然,一種解決方案應該是擁有三個應用程序,一個用於實際的幀緩衝交互,另外兩個只是通過某種形式(例如通過管道,套接字或類似方式)發送消息。這就是「窗口管理器」和類似的工作方式(但當然更復雜)

+0

這是一個很好的方法,但它需要開發一些交換協議,並且這種協議在一段時間後可能會變得相當複雜。 – Eugene