2010-12-30 1 views
2

Я использую QProcess для выполнения команд оболочки.QProcess :: finished (int exitCode, QProcess :: ExitStatus exitStatus): возможные значения exitcode?

Как я могу определить, что эта команда выполнена успешно?

ExitStatus сообщает, что процесс завершался нормально или разбился.

Каковы возможные значения exitcode? Я получаю вариант exitcode для разных процессов.

ответ

4

Любой код выхода, который вписывается в int, возможен.

По соглашению код выхода 0 означает «успех», а что-то еще означает «сбой». Это работает для всех операционных систем, которые я знаю, и есть дополнительные соглашения, чтобы в некоторых случаях приводить более подробную информацию об ошибках. Существует обзор на http://en.wikipedia.org/wiki/Exit_status

На практике вы обнаружите, что почти все программы с наследием Unix будут правильно следовать за соглашением 0 для успеха, но некоторые программы для Windows не будут. Из-за различий в дизайне между двумя ОС коды выхода, как правило, используются менее корректно в Windows, чем в Unix.