問題タブ [terminate]
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.
c++ - nullterminate()ハンドラーは許可されていますか?
VC ++ 7では、次のようにすると次のようになります。
プログラムは、abort()
直接呼び出された場合とまったく同じように動作します。これは、デフォルトのterminate()
ハンドラーが行うこととまったく同じです。
ステートメントを省略するset_terminate( 0 );
と、終了ハンドラーが呼び出されます。したがって、呼び出しはハンドラーをデフォルトset_terminate( 0 )
にリセットする効果があるようです。terminate()
この動作はVC++7にのみ固有ですか?set_terminate( 0 )
他の実装を呼び出すと、プログラムは未定義の動作になりませんか?
c# - C#プロセスキリング
私はc#で、それ自体を強制終了することになっている1つのprocess\exeを起動して強制終了するプログラムを作成する必要があります。
強制終了する必要のあるプロセスは別のC#アプリケーションであるため、ローカルユーザープロセスであり、exeへのパスを知っています。
c++ - VC ++ 7以前で_set_abort_behaviorをシミュレートするにはどうすればよいですか?
Visual C ++では、terminate()
が呼び出されると、デフォルトの動作で呼び出され、デフォルトabort()
でメッセージボックスが表示され、メッセージボックスの[OK]ボタンが押された後、アプリケーションが終了します。「メッセージボックスを表示する」部分は、ボタンが押されるまでプログラムがハングするだけなので、人間の介入なしで動作する必要があるプログラムにはあまり適していません。
VC ++ 8で、Microsoft_set_abort_behavior()
は、アプリケーションの起動時に呼び出すことができ、でメッセージボックスを表示することを禁止する関数を導入しましたabort()
。
VC ++ 7以前で同じことを達成するにはどうすればよいですか?カスタムハンドラーを作成することもできますが、プログラムがメッセージボックスがterminate()
ある場合と同じように終了するように、その中で呼び出すのに最適なアクションは何ですか?abort()
java - Javaでループしたサブスレッドを終了するにはどうすればよいですか?
ループしたスレッドを終了するときに、クリーンアップ作業を行う必要があります。後で続行できるようにバッファを保存するなど。
では、これを実装する最良の方法は何ですか?
- フラグを使用する:しかし、問題は、resumeCalculating()がかかる場合はどうなるかです(編集:長い時間)
永遠に最後まで? - 電卓に例外を入れて、どうやって?
- イベントリスナーなどを使用できますか?GUIに使われていると思いました
- やめて?そして、クラススレッドには、スレッドが終了したときに呼び出されるある種のデコンストラクタが含まれており、そこで処理を実行できますか?
所有者による編集:
私は旗を使うことができることを知っています。しかし、これを考慮してください:
すべての行の間に置くことはif(flag) saveResultsAndExit();
実用的ですか、それともきれいですか?半分処理された結果を破棄して、前の結果を保存したいだけです。
java - 再帰により exit がすべての JFrames を終了する (アプリを終了する)
アプリケーションの新しいスポーンを完全に開くオプションをユーザーに提供するアプリケーションを作成しました。ユーザーがそうしてアプリケーションを閉じると、アプリケーション全体が終了します。窓だけではありません。
アプリケーションを再帰的に生成し、ユーザーが JFrame の生成を終了したときにどうすればよいですか。インスタンス全体ではなく、そのJFrameだけを殺しますか?
関連するコードは次のとおりです。
windows - Windows: プロセスが終了またはクラッシュしたときにウィンドウが閉じるように、新しいコマンド ウィンドウで何かを実行するにはどうすればよいですか?
そこにあるはずのスクリプトがあり、コマンド ウィンドウで楽しく実行され、データが吐き出されます... しかし、スクリプトが終了またはクラッシュしたときにウィンドウを自動的に閉じるようにしたいと考えています。スクリプトは他のプロセスによって自動的に再起動されるため、処理マシンが未使用の端末で汚染されることは望ましくありません。
ピンチでは、出力をファイルにダンプする Windows サービスとしてスクリプトをセットアップし、コマンド windows で出力ファイルを "tail -f" にすることを検討しましたが、システムに大きな変更を加えることは避けたいと思います。すでにうまく機能しています。
java - プログラムが正常に終了したかどうかを確認するにはどうすればよいですか?
Javaでプログラムを作成した場合、プログラムが正常に終了したのか、正常に終了したのかを知るにはどうすればよいですか?
c# - Process.HasExitedは、プロセスが実行されていてもtrueを返しますか?
プロセスがまだ実行されているにもかかわらず、Process.HasExited
時々戻ることを観察してきました。true
以下の私のコードは、「testprogram.exe」という名前のプロセスを開始し、それが終了するのを待ちます。問題は、時々例外がスローされることです。HasExited
プロセス自体がシステム内でまだ生きていることを返したとしても、true
どうしてこれができるのでしょうか?
私のプログラムは、終了する直前にログファイルに書き込むため、読み取る前に、このログファイルが存在すること(プロセスが終了/終了したこと)を絶対に確認する必要があります。その存在を継続的にチェックすることはオプションではありません。
process.WaitForExit()
更新:ポーリングループの代わりに待機しようとしましたが、結果はまったく同じです。
追加:上記のコードは、「より明確な」問題を同様に示すためだけのものでした。明確にするために; 私の問題は、それがtrueProcess.GetProcessesByName( "testprogram" );
に設定された後でも、プロセスを保持できるということではありません。HasExited
本当の問題は、私が外部で実行しているプログラムが、ファイルを(正常に)終了する直前に書き込むことです。私HasExited
はプロセスがいつ終了したかをチェックするために使用し、ファイルを読み取ることができることを知っています(プロセスが終了したためです!)が、プログラムがまだファイルをディスクに書き込んでいない場合でもHasExited
戻るようです。true
正確な問題を説明するサンプルコードは次のとおりです。
c++ - C ++コンソールアプリケーションがすぐに終了しないようにするにはどうすればよいですか?
最近、私はこのウェブサイトからC++を学ぼうとしています。残念ながら、コードサンプルの1つを実行しようとすると、そのプログラムが約0.5秒間開いてから、すぐに閉じます。私の努力の成果を見ることができるように、プログラムがすぐに終了するのを止める方法はありますか?