2015-02-27 4 views
1

Я пытаюсь выяснить, как установить переменные среды в функцию startDetached QProcess в Linux. Я сделал Google и выяснил, что это QT Bug и люди предложили обходные о том, как start a detached process и я мог видеть код, чтобы переопределить функцию startDetached в ОС Windows set variables to detached qprocessПеременные окружения QProcess для startDetached

Может кто-то пожалуйста, напишите код, как это необходимо в Unix Systems. Благодаря!!

+0

Зачем использовать Qt для выполнения этой задачи? Почему не просто библиотека C execXX, spawnXX? – Matt

+0

@ user4419802 Спасибо за ваш ответ. Я пишу приложение Qt, и я использовал функцию QProcess start() во многих местах для запуска внешних приложений. Но по какой-то причине функция startDetached() не принимает переменные env, и мне нужно обходное решение для этого, используя сам QProcess. – sundar

ответ

3

Как дочерний процесс наследует среду от родителей, я думаю, что самый простой обходной путь, чтобы сохранить/изменить/восстановить собственную среду с помощью qgetenv() и qputenv() до и после QProcess::startDetached() вызова.

+0

Отличный !! Большое спасибо. qputenv() сделал для меня нужным. Еще раз спасибо. – sundar