Qt: убить текущий процесс? - PullRequest
       11

Qt: убить текущий процесс?

2 голосов
/ 07 октября 2009

Есть ли способ в Qt завершить текущий процесс TerminateProcess?

QProcess :: kill () представляется применимым только к другим внешним процессам.

Ответы [ 2 ]

4 голосов
/ 29 марта 2012

Вот мой код для win / mac / linux, но не переносимый для других ОС.

void killMe()
{
#ifdef Q_OS_WIN
  enum { ExitCode = 0 };
  ::TerminateProcess(::GetCurrentProcess(), ExitCode);
#else
  qint64 pid = QCoreApplication::applicationPid();
  QProcess::startDetached("kill -9 " + QString::number(pid));
#endif // Q_OS_WIN
}
0 голосов
/ 08 октября 2009

Просто вызовите TerminateProcess напрямую или, если вы хотите что-то независимое от платформы: exit ()

...