問題タブ [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.
vb.net - process.start でアプリケーションのフリーズを開始する (VS 2013)
そのため、ファイル名のリストに基づいて、サードパーティのexeを起動してファイル操作を実行するアプリケーションを作成しようとしています。したがって、リストに 13 個の項目がある場合、外部プロセスを開始するたびにループを 13 回実行し、現在処理されているファイルをユーザーに通知し、プロセスを開始して終了するのを待ちます。ユーザーに通知するために、別のリストボックスがシャウトボックスとして使用されます。問題は、 .waitforexit() が何らかの形でスレッド全体を奇妙な方法でフリーズさせるため、外部プログラムが正常に呼び出され、ファイルは正常に処理されますが、すべての項目が完了するまでメイン ウィンドウがフリーズすることです。したがって、基本的に、Shoutbox はフリーズし、ループ全体が終了した後でのみ、すべての情報でスパムされます。これを実装するために、新しいスレッドの開始、スレッドプール、タイマーなどの使用など、さまざまな方法を試しました。どんな助けでも大歓迎です。コード:
wpf - 2 つのプロセス実行の間に WPF のメイン UI を更新する
WPF で 2 つの連続したプロセスを開始し、その間に UI を変更しています。すべてをラップする while ループもあります。したがって、コードは次のようになります。
問題は、最初のプロセスが存在した後、2 番目のプロセスが開始される前に UI が更新されないことです。while ループが終了すると、一度だけ更新されます。
上記のロジックを実装してスタックパネルを再描画するにはどうすればよいですか?
c# - メインアプリケーションが閉じられたために Process.WaitForExit() が期限切れになったかどうかを知るにはどうすればよいですか
別のアプリケーション「B」の 4 つのインスタンスを監視する C# コンソール プログラム「A」があります。
コンソール プログラムは、「B」のインスタンスごとに 1 つのスレッドを作成し、各スレッドは を使用して「B」を起動しProcess.Start()
ます。次に、スレッドは次を使用して3秒間待機しますProcess.WaitForExit(3000);
その後、アプリケーション「B」のインスタンスが動作しているかどうかを確認します。OKなら、また待ちます。それ以外の場合、機能しない場合、または終了した場合は、再起動します。ユーザーがコンソール プログラムを閉じると、すべてのアプリケーションが終了することが期待されます。
ただし、コンソールの閉じるボタンを使用してアプリケーション「A」を閉じると、すべてのスレッドで WaitForExit() が再開され、アプリケーション「B」が再起動されます。
WaitForExit()
監視対象アプリ「B」の障害による再開なのか、メインアプリ「A」の終了による再開なのかを検出したい。この場合、アプリケーション「B」は再起動されず、問題は解決されます。
私は次を使用して終了イベントをキャプチャしようとしました:
問題は、ハンドラ ルーチンが呼び出される前に WaitForExit() が再開されたことです。
詳しくは:
Main() メソッドはスレッドを起動します。
メインアプリが終了しないように、スレッドをバックグラウンドからフォアグラウンドに変更しようとしましたが、結果は同じです。
各スレッドは、2 番目のアプリケーションの 1 つのインスタンスを起動して監視します。
_closing は、コンソールが閉じられたときにメイン スレッドから設定される変数です。SetConsoleCtrlHandler を使用してこれを行いました。
jsp - プログラムが JSP で実行されるのを待つ必要がある
JSP からバッチ ファイルを実行する必要がありますが、コードはバッチ ファイル実行ステートメントの後に次の行に移動し、バッチ ファイルの実行が完了するまで待機しません。試してみwaitfor()
ましたが、無限ループに陥ります。
だから今、私は別の解決策を選択しました.JSPによって実行される私のバッチファイルは、システム上のファイルを変更します.だから、whileループを入れて、ファイルの変更時刻と現在のシステム時刻をチェックしました. この場合もwhileループは永遠に続きます。
いずれかのアプローチで助けてください。
android - Android: FOR ループを一時停止して、startActivityForResult によって呼び出された子アクティビティが終了するのを待ちます()
このコードを使用して、いくつかのアクティビティを 1 つずつ起動しようとしています
子アクティビティが起動されるたびに意図を取得し、何かを実行して終了し、親アクティビティは各子が終了するのを待ってから、次のアクティビティを呼び出します。ただし、アクティビティが表示される前に for ループが実行され、完了します。それに対する解決策はありますか?
c# - WaitForExit が正しくタイムアウトせず、ただハングする
次のようなコードがあります。
プロセスを正常に終了させるという考えですが、5 秒以上かかる場合は、強制終了する必要があると思います。
これはほとんどの場合に機能するように見えますが、プロセスが Windows エラー メッセージをスローした場合は、単にハングします。以前は「process.Kill()」しかなく、それが機能していたので、タイムアウト値を指定しているにもかかわらず、実際には WaitForExit(5000) 呼び出しでスタックしていると想定する必要があります。
これが起こる理由は何ですか?
編集:そのエラーメッセージのために、実際にハングしているのは CloseMainWindow() ではないかと思います。その場合、CloseMainWindow() メソッドを試す前にプロセスの "responding" プロパティをチェックすると、実際には "false" が返されますか? もしそうなら、私はそれを確認してから、その場合は Kill を使用できます。