問題タブ [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 投票する
8 に答える
71553 参照

bash - 予期しない bash 終了時に作成された一時ファイルを削除する

bash スクリプトから一時ファイルを作成しています。処理の最後にそれらを削除していますが、スクリプトはかなり長い間実行されているため、実行中に強制終了するか、単に CTRL-C を実行すると、一時ファイルは削除されません。
これらのイベントをキャッチして、実行が終了する前にファイルをクリーンアップする方法はありますか?

また、これらの一時ファイルの名前と場所に関するベスト プラクティスはありますか?
私は現在、使用するかどうかわかりません:

それとも、より良い解決策がありますか?

0 投票する
4 に答える
16985 参照

c - exit() ステータスで 256 による除算よりも C で WEXITSTATUS マクロを使用する利点はありますか?

私は出口で値を返さなければならない大学の演習を行っていましたが、その値は実際には何かのカウントでした。これは 255 を超える可能性があります (exit() では処理できません) が、教師は、カウントがその値を超えることのないテスト データを使用することを提案しました。

このすべての後、このカウント値、終了ステータスを処理する必要がありました。この値は、waitpid() を使用してメイン プロセスで取得しました。驚いたことに、子プロセスが 1 を返した場合、メイン プロセスの「実際の」値は 256、2 は 512 などでした...

この値を出力する必要があったので、単純に 256 で割りました。ただし、WEXITSTATUS() マクロを使用すると、この値も思い通りに取得できます...

Cソースコードを調べたところ、次のことがわかりました。

ここで何が起こっているか理解しています。たとえば、2 進数の 512 は 10 0000 0000 です。8 を右にシフトすると 00 0000 0010 になり、10 進数では 2 になります。このマクロで私が理解できないのは、& 演算子と、0xff00 が乱数のように見えるという事実です (おそらくそうではありませんが、どこから来たのでしょうか?)。これは正確には何をしますか?マクロに「& 0xff00」があるのはなぜですか? それがなければうまくいきませんか?

そして、このトピックの真の疑問は、コードでこのマクロを 256 で割ることと同じことを呼び出すことでしょうか?

0 投票する
3 に答える
62389 参照

c - 子プロセスを終了し、そのステータスを execvp() から返す方法は?

私の単純なカスタム シェルでは、標準入力からコマンドを読み取り、execvp() で実行しています。この前に、現在のプロセスのフォークを作成し、その子プロセスで execvp() を呼び出し、その直後に exit(0) を呼び出します。

このようなもの:

さて、execvp() で実行されるコマンドはエラーを返しますよね? 私はそれを適切に処理したいと思っています。現在、私は常に exit(0) を呼び出しています。これは、子プロセスが常に「OK」状態になることを意味します。

execvp() 呼び出しから適切なステータスを返し、それを exit() 呼び出しに入れるにはどうすればよいですか? execvp() が返す int 値を取得し、それを 0 ではなく exit() 引数として渡す必要があります。それで十分ですか?

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

c# - ac# 形式で終了ボタンにコードを追加するにはどうすればよいですか?

Microsoft Visual C# 2008 Express を使用しています。

私のメイン フォームには、フォームを閉じる X ボタンが右上にあります。このボタンにコードを追加するにはどうすればよいですか? 私のメニューには「Exit」項目があり、データベースをクリーンアップして閉じるコードがあります。ユーザーが終了方法としてこのボタンを選択した場合、このボタンに同じコードを追加するにはどうすればよいですか?

ありがとう!

-アディーナ

0 投票する
3 に答える
3331 参照

c# - Environment.Exit() で例外をキャッチする

Main 関数が終了した後、終了コード 1 を返す必要があります。しかし、私には決して終わらない別のスレッドがあります(while(true))だから私はEnvironment.Exit(1)を呼び出すことができました。しかし、comオブジェクトを破棄するときに例外が発生しました...

いくつかの理由で、他のスレッド コードを変更できません。あなたは何をすることを提唱しますか?

com オブジェクトの破棄による例外をキャッチできますか? 終了コードを返すための他のオプションはありますか?

0 投票する
5 に答える
29908 参照

python - Pythonで殺される前に最後の関数を実行する方法は?

実行中のPythonスクリプトが他のスクリプトやキーボード割り込みなどによって強制終了される前に、最後のコマンドを実行する方法はありますか.

0 投票する
3 に答える
12338 参照

qt - QCoreApplication を閉じる前にクリーンアップする

QCoreApplicationタイマーがあり、ソケット通信を行い、ロックされたミューテックスも使用するコンソールベースがあります。

アプリケーションを手動で閉じると、一部のミューテックスがロックされてタイムアウトしたというエラーが表示されます。ユーザーがコンソール アプリケーションを閉じたときに、コンソール アプリケーションをクリーンアップする方法はありますか?

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

c++ - 停止に失敗したアプリの診断

私たちの Windows アプリはメモリ内でハングアップすることが多く、windbg を使用して問題を追跡しようとしています。私はwindbgに非常に慣れていないため、いくつかのアドバイスを使用できます(ただし、Advanced Windows Debuggingを読み始めました)。

このアプリは、VB で記述された C++ オブジェクトと COM オブジェクトが混在しています。時折、アプリを終了すると、アプリが消えたように見えますが、タスク マネージャーでは、アプリがメモリ内でぶらぶらしていて、明らかにアイドル状態であると表示されます。

!threads は私にこれを示しています:

私の訓練されていない目には、ファイナライズ キューがシングル スレッド アパートメントによってブロックされているため、生き続けているように見えます。これは合理的に思えますか?

~0kb の収量:

~6kb 収量:

ここで少しコースを修正していただければ幸いです。ブロックされたファイナライザーの推測が妥当であると思われる場合は、お知らせください。また、何がブロックされているのかを正確に把握するためのアドバイスをいただければ幸いです。

編集:

Shane は !analyze からの出力を求めました。これは実際には別のダンプからのものです - 私はそれらをたくさん持っていますが、それらはすべてほとんど同じように見えます.

0 投票する
6 に答える
41098 参照

c# - Application.Exit

VSTS 2008 + .Net 3.5 + C# を使用して Windows フォーム アプリケーションを開発しています。私の混乱は、 Application.Exit がアプリケーションを強制的に終了させないようです。そうでない場合、アプリケーションを終了させるためにどのメソッドを呼び出す必要がありますか?

編集1:

通常、main メソッドはこのようなものですが、Environment.Exit を呼び出さずに Main 関数を正常に終了するにはどうすればよいですか?

前もって感謝します、ジョージ