Process.Kill () vs Process.Start (“taskkill”,…)

J’ai une petite application d’installation C # et je veux tuer un processus. Y a-t-il des avantages / différences dans l’utilisation

Process[] procs = Process.GetProcessesByName("[taskname]"); foreach (Process p in procs) { p.Kill(); } 

contre

 Process.Start("taskkill", "/F /IM [taskname].exe"); 

J’ai lu quelque part que l’utilisation de “taskkill” est uniquement disponible dans XP (et les versions ultérieures), est-ce que cela ferait de Process.Kill() l’option la plus sûre?

Process.Kill est Process.Kill , car vous ne démarrez pas un autre processus comme vous le faites lorsque vous démarrez taskkill pour supprimer le processus. C’est juste beaucoup de frais généraux inutiles.

p.kill () ne tue pas l’arborescence des processus.

Donc, taskkill est nécessaire si vous souhaitez supprimer l’arbre de processus complet.