QtでTerminateProcess
現在のプロセスを終了する方法はありますか?
QProcess::kill()は、他の外部プロセスにのみ適用されるようです。
これは、win/mac/linux 用の私のコードですが、他の OS には移植できません。
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
}
TerminateProcessを直接呼び出すか、プラットフォームに依存しないものが必要な場合は、exit()を呼び出します。