問題タブ [waitforexit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .netでリモートプロセスが終了するのを待ちます
私たちは皆、Process.WaitForExit()を知っており、気に入っています。
リモートマシン(WMI / psexecによって作成された)上のプロセスのpidがある場合、それが終了するのをどのように待つのですか?
c# - process.WaitForExit(); の場合、Visual C# GUI が応答を停止します。使用されている
Visual C# 2005 (ネット フレームワーク 2) を使用して GUI アプリケーションを作成しています。次のコードを使用してプロセスを開始します。
このプロセスが完了するまでアプリケーションを待機させたいので、WaitForExit を使用しました。しかし、app.exe の実行中に GUI Windows がフリーズします。応答したい (たとえば、キャンセル ボタンを押す) が、その後に開始する別のプロセスがあるため、コードを続行したくありません。前もって感謝します!
.net - C#からProcessクラスを介して生成されたときに、標準エラーとプログラムからの出力を処理する正しい方法は?
次の引用があるProcess.StandardOutputのドキュメントを読みました。
親プロセスが p.StandardOutput.ReadToEnd の前に p.WaitForExit を呼び出し、子プロセスがリダイレクトされたストリームを満たすのに十分なテキストを書き込むと、デッドロック状態が発生する可能性があります。
だから私は疑問に思っています。いくつかのシナリオで StandardError が満たされる可能性があることも恐れている場合、これを行う正しい方法は何ですか?
いっぱいになるのを避けるために、ループを使用して標準出力とエラーからの読み取りを交互に行う必要がありますか、それともこの単純なコードで十分ですか:
いくつかの回答が投稿された後に編集されました
それで、これは正しいアプローチですか?
そして、プロセスが実際に終了した場合にのみ、stringbuilder コンテンツを使用します。
それは正しいアプローチですか?
c# - 時間がかかる実行中のプロセス
コードに、バッチ ファイルを呼び出して特定の引数を指定するセクションがあります。このバッチ ファイルは、別のバッチ ファイルなどを呼び出します。プロセス全体が完了するまでに約 45 分かかります。また、残りのコード (バッチ ファイルの後のクリーンアップなど) を続行する前に、バッチ ファイルが終了するのを待つ必要があります。
私の問題は、いくつかの異なることを試しましたが、バッチファイルの実行を完了することも、出力をログファイルに書き込むこともできないことです。
バッチファイルの実行を完了するために行ったことは次のとおりです。
ロギングを有効にするために、かなりの数のことを試しました。これは最新の試みです。
このコードは基本的に、最初のバッチ ファイルの 1 つの些細な部分になり、そこで停止します。バッチ ファイルの実行時間は 1 分未満です。なぜこれが起こっているのかわかりません。標準出力がリダイレクトされずにウィンドウが作成された場合は完全に実行されますが、ウィンドウが非表示で標準出力がリダイレクトされた場合は何もしませんか?
vb.net - Process.WaitForExitの使用方法
私は、VB.NET(セルフホストのWCF)で「時々」動作するサードパーティのアプリを呼び出しています。ただし、サードパーティのアプリが永久にハングすることがあるため、90秒のタイマーを追加しました。問題は、物事がタイムアウトしたかどうかをどうやって知るのですか?
コードは次のようになります。
私がやりたいのはこんな感じです
何か案は?
ありがとう、
ジェイソン
vb.net - WaitForExit()実行時のランタイムエラー
次のコードを実行しようとしていますが、デバッガーが失敗します myProcess.WaitForExit()
基本的に、私が欲しいのは、プロセスが終了したことを検出し、プロセスが終了した場合は特定のファイルを削除することです。
コードを実行しようとすると、次のエラーが発生します。
process - MS Word タイプのプログラムの WaitForExit - プロセスはすでに開始されています
私のアプリでは、*.rtf ファイルを開き、それが閉じられるのを待ちます。多くの場合、ユーザーは MS Word で *.rtf ファイルを開くことができますが、ここに問題があります。以下のコードは機能しますが、「WINWORD」プロセスがまだ開始されていない場合のみです。その場合、Process.Start() を呼び出すと、Word の新しいウィンドウが開くだけで、Process オブジェクトのほとんどのデータは空になります。例外がスローされるため、プロセスを「待つ」ことはできません。どうすれば対処できますか?助けてください。
*編集: いくつかの解決策を分析したところ、ユーザーが *.rtf ファイルを開くアプリケーションが Word のようなものである場合 (多くのウィンドウで多くのファイルを開く可能性がある)、*.rtf ファイルを待つだけでよいことに気付きました。プロセス全体ではありません。それはばかげているでしょう。問題はますます複雑になっています。助けてください。
c# - 別のインストールの実行中にProcess.WaitForExitがハングする
良い一日!私はインストーラーに取り組んでいます。インストーラーは、Process.Startを使用してソフトウェアの追加の依存関係をインストールします。
問題は、別のmsiインストールが実行されると、WaitForExitがハングすることです(この別のmsiインストールを閉じると、WaitForExitも終了します)。
インストール時間が非常に異なるため、依存関係が異なるため、タイムアウトを使用できません。
この状況を処理してプロセスを正しく強制終了する方法はありますか(実際には、依存関係がインストールされているのか、単にハングしているのかを知りたいです)?どうもありがとう。
解決策:私の場合、問題は「msiexec」プロセスが実行されているかどうかを確認することで解決されます。
c# - WaitforExitが正しく機能しない
だから私はしばらくの間この問題と戦ってきて、それを修正するために多くの異なる方法を試しましたが、できません。
基本的に、私のアプリが行うのは、Javaファイルを呼び出してデバイスにアプリケーションをロードすることです。ロードしている間、リッチテキストボックスに印刷します。次に、次のファイルに移動します。私が抱えている問題は、最初のファイルがロードされている間に、2番目のファイルがロードを試みて問題が発生することです。終了待ちを試しましたが、そうすると、出力データがリッチテキストボックスに書き込まれません。何か案は?
いろいろな場所で出口待ちをしてみましたが、うまくいかないようです。
以下の2つの方法は、stdoutまたはエラーをリッチテキストフィールドに書き込みます。
どんなアイデアでも素晴らしいでしょう。基本的に、プロセスを終了する必要があるので、forloopを考え続けて次のファイルをロードできます。
c# - WaitForExit の既定のブラウザー
私はこのコードを使用しています:
デフォルトのブラウザで「URL」を開く。ユーザーがそのブラウザーを閉じてから、さらにコードを実行するのを待ちたいと思います。しかし、IE (デフォルトのブラウザー) で Url を開いた後、オブジェクトのインスタンスに設定されていないオブジェクト参照がスローされ、強調表示されます。
何が問題ですか?終わるまで待ちたいと思います。アドバイスをありがとう。