Невозможно приостановить работу встроенного 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.

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


person Qw_freak    schedule 21.11.2012    source источник


Ответы (1)


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

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

qt_app_name -qws -nomouse -nokeyboard
person Qw_freak    schedule 26.11.2012