Comment puis-je attendre que le PID (non démarré à partir du programme lui-même) n'existe plus? Je veux que mon programme obtienne un PID d'un programme externe par l'intermédiaire du paramètre de ligne de commande et attende juste qu'il sorte pour faire quelque chose.C# attente du PID externe pour quitter
Je l'ai cherché, mais tout ce que j'ai pu trouver étaient des exemples où le processus a été démarré par le programme C# lui-même. C'est facile à gérer ..
j'allais avec quelque chose comme ça, mais il ne fonctionne évidemment pas ..
Process[] pname = Process.GetProcessById(7860);
if (pname.Length == 0)
Console.WriteLine("nothing");
else
Console.WriteLine("run");
Comment cela peut-il être accompli?
@RaymondChen: Cest pas exactement la même chose que dans la question fait référence, ils sont en attente d'un processus a commencé dans le code même. – wonko79
@ wonko79: La partie non abordée dans le Q & A en double est la partie impossible. Celui où un processus aléatoire trouve par magie les poignées d'E/S standard de l'application, juste au bon moment, et les utilise pour canaliser leur identifiant de processus. – IInspectable
[Cette réponse] (http://stackoverflow.com/a/6723758/902497) est le doublon spécifique. "Créez/Attachez au processus puis utilisez WaitForExit()' pour bloquer jusqu'à ce qu'il ait quitté, ou utilisez l'événement 'OnExited' si vous ne souhaitez pas que votre application se bloque pendant l'attente de la sortie de l'application." Cette question particulière utilise le cas "attacher". –