LINUX.ORG.RU

Ответ на: Re: opyat problemy s QT от anonymous

Re: opyat problemy s QT

> QProcess

Интересно, а как, используя QProcess, узнать, каким сигналом был убит потомок? Без Qt все просто и понятно. А как с ней? Просмотр qprocess_unix.cpp показывает, что никак: код завершения процесса просто выкидывается, если процесс умер не сам. Но вдруг знатокам Qt известен какой-то хитрый способ?

nobody ★★ ()
Ответ на: Re: opyat problemy s QT от nobody

Re: opyat problemy s QT

>>Интересно, а как, используя QProcess, узнать, каким сигналом был убит потомок?

Автору, видимо, этого и не надо:

[Privet, kto-nibud znaet kak zastavit programmu zapuskat drugoi fail]

>>код завершения процесса просто выкидывается

А если переопределить функцию, которая код заверешения выбрасывает ?

anonymous ()
Ответ на: Re: opyat problemy s QT от anonymous

Re: opyat problemy s QT

> А если переопределить функцию, которая код заверешения выбрасывает ?

Не получится (без патча Qt). Функция определяется так (внутри QProcess):

bool isRunning() const;

Она вызывает waitpid. Не юзать ее совсем, а самому звать waitpid тоже не получится, потому что она юзает объект QProcessPrivate, объявленный в секции private класса QProcess.

Т.е. единственный вариант, который я вижу -- не юзать QProcess, если по завершении создаваемого процесса надо получить конкретную причину его завершения.

nobody ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.