Russian Qt Forum

Qt => Общие вопросы => Тема начата: SerjVarshavskiy от Ноябрь 16, 2007, 17:10



Название: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 16, 2007, 17:10
делаю QProcess.startDetached

всё аккурат запускается, но выполнение кода после запуска не продолжается  :-\
а нужно запустить и "забыть" с продолжением выполнения последующего кода

подскажите как сделать и кросплатформенно


Название: Re: опять запуск процесса/проги
Отправлено: Kainit от Ноябрь 16, 2007, 17:35
А можно поподробнее
когда я запускаю
QProcess::execute("iexplore"); всё нормально


Название: Re: опять запуск процесса/проги
Отправлено: Dodge от Ноябрь 16, 2007, 23:54
делаю QProcess.startDetached

всё аккурат запускается, но выполнение кода после запуска не продолжается  :-\
а нужно запустить и "забыть" с продолжением выполнения последующего кода

подскажите как сделать и кросплатформенно
"кросплатформенно" - прикольное слово  ;D
если не использовать x11 api или win32 и тп то получится "кросплатформенно" )

а дальше... код в студию, проблема судя по всему в коде.


Название: Re: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 17, 2007, 18:44
...
myProcess.startDetached( strProgName );
...
далее основная прогр прослушивает порт

strProgName содержит путь/имя утилитки
утилитка разбирает txt файлик и выводит в файл время/дата при каждой новой строке

вот получается, что пока утилита не закончит своё выполнение, основная программа
не делает ничего, походу ждёт возврата из myProcess.startDetached

как бы запустить утилиту и не ждать (кросплатформенно  :P)?


Название: Re: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 17, 2007, 18:49
А можно поподробнее
когда я запускаю
QProcess::execute("iexplore"); всё нормально

QProcess::execute
Starts the program program with the arguments arguments in a new process, waits for it to finish, and then returns the exit code of the process. Any data the new process writes to the console is forwarded to the calling process.

т.е. как бы не этого хотелось, оно ждёт, а ждать не нужно


Название: Re: опять запуск процесса/проги
Отправлено: Mikhail от Ноябрь 17, 2007, 18:58
а почему не использовать
void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite )
запускает, не ждет. Можно получить от него сообщения


Название: Re: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 17, 2007, 20:45
то что нужно
спасибо


Название: Re: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 17, 2007, 21:22
хотя не то  ???

нужно что бы процесс не умирал при уничтожении "родителя" + не вводил его в ожидание
завершения запущенной утили в QProcess


Название: Re: опять запуск процесса/проги
Отправлено: Mikhail от Ноябрь 17, 2007, 22:00
НЕ умирает и не ввдит в ожидание:
QProcess * buildProcess = new QProcess();
buildProcess->start( strProgName );
Внимательно разберись


Название: Re: опять запуск процесса/проги
Отправлено: SerjVarshavskiy от Ноябрь 17, 2007, 22:17
хех, а я его в стеке...
сенкс