Existe-t-il un moyen dans Qt de terminer a'la TerminateProcess
le processus en cours?Qt: Tuer le processus actuel?
QProcess::kill() semble être applicable uniquement à d'autres processus externes.
Existe-t-il un moyen dans Qt de terminer a'la TerminateProcess
le processus en cours?Qt: Tuer le processus actuel?
QProcess::kill() semble être applicable uniquement à d'autres processus externes.
Il suffit d'appeler directement TerminateProcess, ou si vous voulez quelque chose de plate-forme indépendante: exit()
Voici mon code pour win/mac/linux, mais pas portable pour d'autres systèmes d'exploitation.
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
}
Faut-il vraiment le tuer? Est-ce que QCoreApplication :: exit() n'est pas suffisant? –
Ma conjecture est que les gens QT n'ont pas pensé à emballer cela. Vous devrez peut-être coder les API spécifiques à la plate-forme qui vous intéressent. – asveikau
@Lukas Oui, après l'appel, je ne veux plus retourner à la boucle d'événements et je ne veux même pas que quelque chose soit détruit. – shoosh