![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Rocky |
![]()
Сообщение
#1
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет. Подскажите плиз, как убить процесс когда нужно? Я делаю так
Музыка проигрывается... но вот когда нужно все остановить, ниче не получается.... Потому что у меня много раз происходит вызов play/stop и в очередном play при попытке начать процесс заново в консоль получаю "QProcess::start Process is already running". Как это можно исправить? Есть подозрение что убийство происходит не сразу, а через какое-то время, но большее чем 100 мс (потому что вызов play/stop происходит в таймере). Qt. 4.6.2., ОС Ububntu 9.10. Спасбо! |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
приведённый тобою код довольно бессмысленный.
Ты командуешь "Завершить" и ничего не дожидаясь, пытаешься убить процесс. Смотри: bool QProcess::waitForFinished ( int msecs = 30000 ) |
|
|
Rocky |
![]()
Сообщение
#3
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
так нет почему бессмысленный? я просто сначала пробую его убить через terminate, а потом типа проверяю и если не убился - то пробую kill.
waitForFinished боюсь не подойдет... Мне нужно грубо говоря запускать процесс каждые 100мс. т.е. на 100-й мс - запустил, на 200-й - убил и тут же запустил заново... И так много раз. А получается что он не убивается совсем мгновенно, в итоге я видимо и получаю QProcess::start Process is already running.... Может сделать 2 процесса типа четный/нечетный? пока один убивается чтоб другой работал и наоборот? К тому же мне ничего нельзя блокировать - там графика отрисовывается, пользователь может думать что программа "подвисает".. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.4.2025, 9:42 |