Ok, donc je veux écrire un programme C++ qui peut terminer un processus spécifique en cours d'exécution. J'ai cherché sur Internet et aucune des solutions que j'ai rencontrées n'a de sens pour moi. Y a-t-il un moyen simple de mettre fin à un processus?Comment mettre fin à un processus en C++?
-1
A
Répondre
5
Sur POSIX, appelez kill(3)
pour envoyer SIGTERM
au processus. Sous Windows, vous appelez le TerminateProcess()
.
0
En supposant que vous êtes sur une plate-forme * nix et que vous avez l'ID de processus (vous a donné naissance au processus vous utilisé une autre méthode pour en déduire son pid
), en utilisant kill(2)
devrait fonctionner:
#include <sys/types.h>
#include <signal.h>
void main() {
/* ... */
pid_t pid = ???;
kill(pid, SIGTERM);
}
elle ne fonctionnera que sous certaines conditions, cependant:
pour un processus d'avoir la permission d'envoyer un signal, il doit être privilégié (sous Linux: avoir la capacité CAP_KILL), ou l'utilisateur réel ou effectif du processus d'envoi doit égaler le réel ou sav ed set-user-ID du processus cible. Dans le cas de SIGCONT, il suffit que les processus d'envoi et de réception appartiennent à la même session.
Questions connexes
- 1. Comment mettre fin à un processus en cours dans matlab?
- 2. Comment mettre fin à un processus en utilisant Visual Basic?
- 3. Obtenir un processus de mettre fin à
- 4. Comment mettre fin au processus?
- 5. Comment mettre fin à un appel téléphonique en C# CF?
- 6. Mettre fin en python sous-processus
- 7. Comment mettre fin à une fonction asynchrone en C#
- 8. Comment mettre fin à un thread python?
- 9. Mettre fin à l'application Windows (mais pas simplement mettre fin au processus)
- 10. Mettre fin à une chaîne C++
- 11. Comment mettre fin à un SupervisionGroup?
- 12. Comment mettre fin à un mode 'débogage'?
- 13. comment mettre fin à un processus qui est exécuté avec sudo avec kill
- 14. Comment mettre fin à un programme?
- 15. C# Mettre fin à la déclaration Regex
- 16. Comment mettre fin à un processus à l'aide de la configuration d'inno?
- 17. Comment mettre fin à UIViewController
- 18. Comment mettre fin à HandlerThreads?
- 19. Comment mettre un processus en "sommeil ininterrompu"?
- 20. comment mettre fin à un appel par programme en j2me?
- 21. comment mettre fin à un fil lorsqu'il est en veille?
- 22. Y at-il un moyen de mettre fin à un processus bloqué dans Powershell?
- 23. comment mettre fin à un processus de panneau de commande Android
- 24. Comment mettre fin à() un flux de fichier
- 25. Mettre fin à l'application
- 26. Ne jamais mettre fin à programme c lié cpu
- 27. Comment mettre fin à un correctement thread de travail en C#
- 28. Comment mettre fin à une application de console Windows qui n'a pas de processus associé?
- 29. Mettre fin à un workflow sans propriétaire
- 30. Comment mettre fin à un processus démarré à partir d'une tâche Ant si le script est annulé?
Quel système d'exploitation ciblez-vous? – bdonlan
Voulez-vous une solution portable? Si non, quel système? –
Est-ce un processus que vous avez créé vous-même? –