私は別のものを実行するプログラムを持っています(最初のアプリケーションのStaterと2番目のapp-Workerを呼び出すことができます)。C#でプロセスを停止する方法、ファイル名を知っていますか?
私はスターターで
process.start();
process.waiForExit();
process.Close();
を使用しています。
しかし、労働者(一部のextern理由で)労働者がファイルをブロックし、プロセスにまだなります待っている間にスターターがメモリを食べて、閉鎖を余儀なくされている場合など
だから、私は労働者がすでに実行されているかどうかを確認したいです私はそれを開始しようとする前に。 私はProcess.GetProcessesByName( "worker.exe")を試しましたが、運がありません(タスクマネージャでWorkerが見えても)。
私はそのモジュールのためにメモリ内のすべてのプロセスをチェックについて、ここでいくつかのトピックを見てきましたが、それでも私はすでに、私はこのようなソリューションを避けるために願っています実行中のファイルを知っています。
アドバイスはありますか?
あなたのタイトルは少し誤解を招いていました。私はあなたが*あまりにも明白な理由で起動プロセスの真のファイル名を隠すことを望んでいると思った:) –
'Starter'は実際に' Worker'を起動しますか?そうであれば、作業者のすべてのプロセスID(Process.Idによって)を知ることができます。あなたは(より信頼性の高い)IDでそれらを処理することができます。 –
@ Moo-Juice - それは私がそれをどのように読むのかです!タイトルには「C#」と「知る」の間にカンマが必然的に必要です。 – adelphus