Здравствуйте, гость ( Вход | Регистрация )
Digger86 | Дата 19.10.2012, 14:02 |
К сожалению через, если использовать start(), то тоже создаются дополнительные потоки (я так понимаю их создаёт QProcessManager, который следит за дочерними процессами). Проблем добавляет тот факт, что моя библиотека должна использоваться вне Qt окружения.. То есть нет гарантии того, что имеется QCoreApplication. В итоге реализовал запуск программы следующим образом:
взял отсюда: http://stackoverflow.com/questions/486087/...with-parameters Конечно это не кроссплатформенное решение, но хотя бы работает.. |
|
Алексей1153 | Дата 19.10.2012, 11:49 |
может быть, всё дело в том, что startDetached вертает дескриптор нового процесса - и что-то там требуется для этого . Попробуй вариант start() | |
Digger86 | Дата 19.10.2012, 10:58 |
чтобы запустить программу я делаю следующее QString program("/bin/myProgram"); QStringList arguments <<"my" <<"arguments"; QProcess::startDetached(program, arguments); После этого у меня стартует myProgram, но при этом в вызывающем процессе образуются дополнительные потоки. Родительский процесс после вызова QProcess::startDetached(program, arguments) должен продолжить своё выполнение, как-будто ничего не произошло. |
|
Алексей1153 | Дата 19.10.2012, 10:40 |
Digger86, давай уже определимся, речь про процессы или про потоки ? И код покажи, что ты делаешь для того, чтобы Цитата необходимо запустить программу, без всякой дальнейшей связи с ней. И что должно стать с родительским процессом после запуска дочернего ? |
|
Digger86 | Дата 19.10.2012, 10:13 |
Потому что при использовании моей библиотеки, которая использует классы Qt, возникают 2 дополнительных процесса (видны в менеджере процессов). Как выяснилось они появляются после использования функции bool QProcess::startDetached(). Не совсем ясно как сделать так чтобы они не появлялись. Мне просто необходимо запустить программу, без всякой дальнейшей связи с ней. | |
Алексей1153 | Дата 19.10.2012, 7:16 |
Digger86, а почему такой вопрос возник ? | |
Digger86 | Дата 18.10.2012, 19:40 |
Спасибо! В общем я так и думал. |
|
RazrFalcon | Дата 18.10.2012, 19:02 |
Теоретически нет. Создавать можно через эти классы. |
|
Digger86 | Дата 18.10.2012, 17:46 |
Добрый день! Существует ли возможность того, что Qt сам создаёт какие-то нити, при использовании его классов? Т.е. есть ли гарантия того, что Qt классы (кроме QThread разумеется) не создают каких-либо нитей? А если всё-таки какие-то создают, то какие именно и где об этом можно почитать. Спасибо! |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 25.4.2024, 14:57 |