Le démarrage et l'arrêt d'un processus en C# .NET
Je suis en train towrite un programme simple qui a deux méthodes, qui démarre un processus, et celui qui prend le même processus.
comme dans:
public Process StartProc(string procname)
{
Process proc = new Process();
proc.StartInfo.FileName = procname;
proc.Start();
return proc;
}
public void StopProc(Process proc)
{
proc.Close();
}
Est-il possible de le faire comme ça?
OriginalL'auteur Magnus Jensen | 2011-09-06
Vous devez vous connecter pour publier un commentaire.
Oui, la méthode, vous êtes après est appelé
Kill
, pasClose
:Ce sera de force à fermer le processus lorsque cela est possible, il est préférable de signal de l'application à fermer comme, en demandant que la demande de fermer la fenêtre principale:
Cela permet à l'application d'effectuer le nettoyage de la logique (comme l'enregistrement des fichiers), mais peut permettre la poursuite du processus en cours d'exécution si elle choisit d'ignorer la demande et de ne rien faire si le processus n'a pas une fenêtre principale (par exemple avec une application console).
Pour plus d'informations, voir la documentation sur le
Processus.CloseMainWindow
méthode.OriginalL'auteur Justin
Je pense que vous êtes à la recherche pour
Processus.Kill()
.Vous n'avez pas vraiment besoin d'un
StopProc()
méthode, il vous suffit d'écrireproc.Kill()
directement.Cependant, il n'est pas recommandé en général de mettre fin à des processus d'une manière si brutale. Cela peut laisser des objets partagés dans un état indéfini. Si vous pouvez trouver un moyen de travailler en collaboration pour fermer le processus qui est à privilégier.
OriginalL'auteur David Heffernan
Par commencer le processus, vous pouvez obtenir l'Identifiant unique de ce processus, et puis vous pouvez le tuer comme ceci:
OriginalL'auteur Amir