問題タブ [process-exit]

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.

0 投票する
1 に答える
910 参照

.net - Process.WaitForExit が失敗した直後の EXE の DeleteFile

私は次のことを行います:

  1. 実行可能ファイルをにコピーしますC:\temp\x.exe

  2. で実行可能ファイルを開始し、 によって返されたオブジェクトSystem.Diagnostics.Process.Startを呼び出して、プロセスが同期的に終了するのを待ちます。WaitForExitProcessStart

  3. 実行可能ファイルを削除するC:\temp\x.exe

一部のマシンでは、これはうまく機能しますが、他のマシンでは、ファイルがまだ使用されているため、への呼び出しがDeleteFile失敗します。したがって、一度WaitForExit戻ったとしても、Windows が EXE で終了したことを意味するわけではないようです。

ここでのオプションは何ですか? DeleteFile削除が成功するか、ループがタイムアウトするまで、数ミリ秒後にループで再試行することは明らかです。しかし、ファイルがすべての人によって閉じられるのを待つためのよりクリーンな方法はありますか?

0 投票する
9 に答える
2880 参照

c++ - C言語のループの終了関数で任意の値を使用する理由

C/C++ 言語のループ ステートメントでは、exit(0)、exit(1)、またはその他の値を使用します。その値には何が必要で、ループを終了するときのループ内でのその値の役割は何ですか? exit() の 1 と 0 の意味は何ですか?

0 投票する
1 に答える
5041 参照

linux - Linuxは、プロセスを強制終了したときにスピンロック/セマフォを解放しますか?

プロセスがいくつかのスピンロックまたはセマフォを保持していて、誤って終了した場合(たとえば、Linuxによって強制終了された場合)、Linuxはこれらのロックを正しく解放しますか?Linuxがこの機能を果たさないのなら、なぜですか?

0 投票する
1 に答える
5606 参照

java - 外部プログラムがハングした場合にプロセス (.exec()) を終了する方法

私のソフトウェアを説明しましょう。私のソフトウェアが単純に行うことは、10 個のスレッドを作成し、各スレッドに多数のタスクを割り当てることです。次に、各スレッドは、cmd バッチ ファイルを開始するランタイム プロセスを作成します。このプロセスは、デバイス (約 200 個あります) に telnet 接続して構成をポーリングするプログラムを開始します。私のプロセス作成のコードは次のとおりです。

batchFileバッチ ファイルのフル パスです。誤解しないでください。ソフトウェアは実行の 100% まで正常に動作し、約 95% で 1 回だけハングしたので、その解決策を見つけようとしています。なぜハングアップしたかは今の問題ではなく、後でハングアップに対処する方法..!

ここでの問題は、プロセスが完了するのを待つ必要があることです。これは、telnet クライアントがファイルに書き込み、後でスレッドで読み取るためです。したがって、の使用.waitFor()。私の質問は、外部プログラムがハングしたことをスレッドに理解させるにはどうすればよいですか? 言い換えれば、外部プログラムに終了までの時間制限を与えることはできますか? そうでない場合、スレッドはプロセスを強制終了しますか?

また、エラーと出力ストリームの読み取りについて読みました。しかし、ここでは当てはまらないと思いますか?

0 投票する
2 に答える
10018 参照

.net - AppDomain.ProcessExit が呼び出されないのはいつですか?

以下の行を有効//1にすると、「proc exit」が出力されずにプログラムがクラッシュしますが、行の場合は//2「proc exit」が出力されます。どちらの場合も「未処理」btwが出力されます。

なぜ違いがあり、一般的なルールは何ですか? 明らかに、タスク マネージャーなどを使用してアプリを強制終了すると、「proc exit」が出力されなくなりますが、それ以外に、出力されないケースは何ですか?

0 投票する
1 に答える
336 参照

c# - 静的イベント ハンドラーで非静的メンバーにアクセスするにはどうすればよいですか?

私はあなたが通常これを行うことができないことをすでに知っていますが、これが私の状況です:

List<T>通常の使用中に追加され、間隔を置いてデータベースにダンプされる非静的があります。まだダンプされていないAppDomain.CurrentDomain.ProcessExitmy の値をダンプするために使用できるようにしたいと考えています。List<T>は、Listダンプされるたびにクリアされます。

静的であっても、特定のコンテキストなしでこれにアクセスできる方法はありますListか - >静的ではありませんか?

0 投票する
0 に答える
100 参照

c# - EventsThreadsShutdown が常に機能するとは限らず、ProcessExit が常に機能する理由

その時点でログデータをファイルに書き込むことができるようにC#、あらゆるタイプのアプリケーション終了のイベントをキャッチする汎用 (あらゆるアプリケーション) の方法が必要です。C#

が呼び出されてテストしているマルチスレッド C# アプリケーションMicrosoft.Win32.SystemEvents.EventsThreadShutdownのイベントをキャッチしないことを発見しました。 単純なシングル スレッド アプリケーションで動作します。shutdownSrcChess2EventThreadShutdown

AppDomain.CurrentDomain.ProcessExitその後、マルチスレッド アプリとシングル スレッド アプリで正しく動作するように見えることを発見しました。

EventsThreadsShutdown常に機能するとは限らず、マルチスレッドアプリケーションで機能しない理由を誰でも説明できますか?

ありがとう!