Не удается приостановить встроенный Linux, пока запущено приложение qt

В настоящее время я работаю над приложением Qt, работающим на встроенной платформе (i.MX53).

Моя проблема в том, что во время работы этого приложения я не могу заставить систему приостановить работу.

Я использую "busybox rtcwake" для администрирования функции приостановки, которую я хотел бы просто запустить из моего приложения Qt, так как это приложение является основной причиной для моей системы, но я не могу заставить систему перейти в режим ожидания при вызове rtc будить:

//From Qt app.
Qstring str = "/bin/busybox rtcwake -d /dev/rtc0 -m standby -s 15";
system(str.toAscii());

это просто получает мне это сообщение:

пробуждение из "режима ожидания" в ВС 24 июня 20:59:00 2012
PM: Синхронизация файловых систем... сделано.

что должно быть что-то вроде:

** Это не код, но каким-то образом я не мог представить это, потому что SO сказал, что это код.

wakeup from "standby" at Sun Jun 24 22:22:02 2012   
PM: Syncing filesystems ... done.   
Freezing user space processes ... (elapsed 0.01 seconds) done.  
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.  
mxc_ipu mxc_ipu: Channel already disabled 9  
mxc_ipu mxc_ipu: Channel already uninitialized 9  
PM: suspend of devices complete after 28.942 msecs  
suspend wp cpu=400000000  
PM: late suspend of devices complete after 0.726 msecs

Потому что это то, что говорится, когда я запускаю команду busybox, когда приложение qt не запущено.

* Примечание: я использую Linux: 2.6.35.3-11.09.01

Кто-нибудь знает в чем может быть проблема?

1 ответ

Решение

Проблема в том, что приложение QT запускает консоль самостоятельно, в моем случае tty0, которая останавливает мой запрос на приостановку.

В моем случае, поскольку я не использую ввод с клавиатуры или мыши через QWS, я решил проблему, запустив приложение следующим образом:

qt_app_name -qws -nomouse -nokeyboard
Другие вопросы по тегам